curso básico linux
TRANSCRIPT
1
Introducción al Sistema Operativo LINUX
Lcdo. Miguel Esquivel
2
AGENDA
Interfaz Gráfica
Interfaz de Comandos
Estructura de Directorios
Comandos Básicos
Redirección de Entrada/Salida
Arranque/Parada del Sistema Operativo
3
En el ambiente LINUX/UNIX, el usuario puede interactuar con el sistema operativo en tres modos:
1) Mediante Interfaz Gráfica
2) Uso de Comandos (diferencia importante con Windows XX)
3) Acceso Remoto:
Texto: telnet, ssh, rlogin
Gráfico: VNC, Sub Seven
Vía Web: Webmin
4
XWindow es un sistema estandarizado para manejo de aplicaciones gráficas en Unix y es el utilizado por GNU/Linux
Posee una arquitectura muy peculiar pensada no sólo para usar aplicaciones gráficas locales, sino que también remotas, además de brindar una gran flexibilidad al entorno y en definitiva al usuario del mismo
El sistema XWindow se compone de varias partes bien definidas y estandarizadas, pero los conceptos mas notables y útiles de entender son:
· funciona en modalidad cliente-servidor
· posee los denominados manejadores de ventanas
· las aplicaciones utilizan librerías de widgets
· existen entornos integrados de escritorio
5
Los componentes principales de un sistema X-Windows son:
El servidor X: es quien controla el mouse, et teclado y la pantalla. Ej: Xfree86 es el más popular y es software libre
Gestor de Ventanas: Determinan el funcionamiento y la apariencia de las ventanas a nivel de usuario. Ej: TWM, MWM, etc
Librerías X: Contienen objetos (widgets) que pueden ser utilizados para crear aplicaciones. Ej: GTK, TK, LessTIF
Entornos Integrados de Escritorio: Usan las librerías y los gestores de ventanas para crear ambientes de trabajo al estilo Windows.Ej: KDE, GNOME. Los entornos integrados poseen herramientas y aplicaciones para trabajar a nivel gráfico, como: staroffice, YAST, kwrite, kuser, etc.
6
Ubicación de X-Windows en el Modelo OSI
7
Interrelación de los Componentes de X-Windows
8
Gestores de Ventana más Comunes
9
Entornos o Escritorios más Comunes
10
El Entorno de Escritorio que utilizaremos será el KDE, el cual contiene la siguientes aplicaciones útiles:
YAST: Permite configurar la red, instalar y desinstalar harwware y software, administrar la seguridad, etc. Es el “equivalente” al Panel de Control en Windows
Kuser: Administrador de usuarios gráfico
Kcron: Programador de tareas
Konqueror, Mozilla: Navegadores
Kwrite: Editor de textos
En la sesión práctica nos familiarizaremos con estas aplicaciones
11
Interfaz de Comandos
LINUX/UNIX disponen de una gran variedad de intérpretes de comandos o shells
• Un intérprete de comando es un programa del sistema operativo que recibe la entrada del usuario (comando) y la convierte en la acción respectiva
• Los shells más comunes son: bash, sh, tsh, csh, entre otros
• Cada vez que un usuario ingresa al sistema se activa un solo shell: el que está configurado para ese usuario
• Una vez dentro de la sesión,el usuario puede cambiar su shell actual
12
Ordenes Básicas (cont.)
Manejo de Procesos
ps axu Lista los procesos que se están corriendo.
kill -9 123 Mata el proceso con número de PID 123. Sin darle tiempo a terminar
kill -l Lista los posibles argumentos de la orden, -15(terminar), -9(matar) etc.
Manejo del Sistema
Hostname Devuelve el nombre de la maquina
uptime Devuelve la cantidad de tiempo transcurrido desde la ultima vez que se arranco el sistema.
uname -a Información sobre el sistema operativo de la maquina.
free -tm Información sobre la cantidad de memoria disponible y usada
df -h Información sobre todo los dispositivos montados en la maquina
du -bh /|more Información sobre el espacio ocupado por cada subdirectorio, comenzando en el directorio raíz (/)
who Información sobre usuarios conectados al sistema operativo
cat /proc/cpuinfo Información sobre el microprocesador
13
Ordenes Básicas (cont.)
Otras órdenes:
find / -name lpt.txt -print Busca el archivo ltp.txt empezando por el directorio / y lo muestra en pantalla .
more cartas.txt Paginador. Muestra página por página el contenido de un archivo
tail apache.log Muestra las últimas líneas de un archivo
grep patrón archivo Muestra la línea en la que aparece patrón dentro de un archivo
cat archivo Muestra el contenido de un archivo
cat /proc/cpuinfo Información sobre el microprocesador
cat /proc/interrupts Información sobre las interrupciones en uso (IRQs)
14
Redirección de Entrada- Salida
• Los comandos pueden interconectarse entre si• También pueden conectarse con archivos y dispositivos• El teclado y la pantalla son los dispositivos de entrada y salida estándar
Orden
Teclado
Archivo
Orden
Pantalla
Archivo
Orden
15
Redirección de Entrada- Salida (Cont.)Descriprores de Archivo: Identifican una estructura de datos asociada, por lo general, a un dispositivo
Valor Dispositivo
0 Teclado
1 Pantalla
2 Error (Pantalla)
Redirección Salida:
$ls > temp
$cat conf > meeting
Redirección Entrada:
$cat < file
Redirección de Salida y Entrada:
$sort < file1 > file2
ó
$sort > file2 < file1
Redirección del error:
$grep objeto archivo > encontrados 2>fallos
16
Redirección de Entrada- Salida (Cont.)Cauces (Pipes)
Mediante esta técnica un comando puede pasarle su salida a otro comando
Ejemplos:
$ ls - l | lp encausa la salida del ls hacia la impresora
Estas órdenes equivalen a ..... esta
$who > temp $who | grep maria; verifica si el nombre maria esta en el archivo temp
$grep maria temp
$who | grep pepe; verifica si pepe está conectado
$ls -l | grep cartas.txt | lp se imprime la línea del directorio que contiene la palabra cartas.txt
17
Estructura de Directorios
/
usr etc var home opt bin sbin
bind9 apache bind9 apache usuario1 usuario2 named apache
etc: archivos de configuración
var: archivos logs
home: directorios de trabajo de usuarios
bin y sbin: programas ejecutables
18
Proceso de Arranque
Ejecución del proceso init
init lee al archivo /etc/inittab
Se aplica una línea del inittab según el “runlevel”
Se ejecuta script rc x, que según el valor de x lee el directoriorcx.d dentro de /etc/init.d/rc.d
Se ejecutan secuencialmente los script de arranque de los serviciosdefinidos en rcx.d
Acción Comentario
Primer proceso del sistema
Archivo de configuración que contienelas acciones a realizar según el nivel
de ejecución escogido
ARRANQUE y PARADA DEL SISTEMA OPERATIVO LINUX
19
Linux utiliza el proceso de arranque init de Sys V; init es el primer proceso que se ejecuta en el sistema, es el más importante, del que dependen el resto de procesos del
sistema.
El núcleo ejecuta init al arrancar. Este programa cargará los subprocesos necesarios para la puesta en marcha del
sistema. Cuando init ha terminado de cargarse vacia el subdirectorio /tmp y lanza getty que se encarga de permitir
hacer login en el sistema a los usuarios.
El Proceso init
20
Los niveles de ejecución (runlevel) determinan los servicios que tendremos disponibles en cada uno de ellos. Es una forma de tener diferentes modos de trabajo.
Existen ocho niveles de ejecución, que están numerados del cero al seis, más otro denominado con la letra «S» (tiene un alias con la letra «s», que realmente es igual a el nº 1).
Niveles de ejecución de ejecución que se utilizan y una descripción de para qué están definidos :
Nivel de ejecución Modo
0 Detener el sistema
1 Monousuario, sin soporte de red
2 Multiusuario, sin soporte de red
3 Modo multiusuario completo
4 Sin uso. Recomendado para pruebas
5 Multiusuario completo en entorno gráfico
6 Reiniciar el sistema
Los Modos de Ejecución o “runlevels”
21
Init necesita un fichero de configuración para saber exactamente lo que tiene que hacer. Este fichero es /etc/inittab y contiene información sobre el nivel a ejecutar por defecto, previsión sobre lo que hacer ante determinadas situaciones, describe
qué procesos se inician en la carga y durante la operación normal.
Las entradas del fichero /etc/inittab tienen el siguiente formato:
id:niveles_ejecución:acción:proceso
• id: Una secuencia única de 1 a 4 caracteres que identifican la entrada de inittab
• niveles_ejecución: Lista de niveles de ejecución para los que se llevarán a cabo las acciones definidas a continuación en la línea.
• acción: La acción se llevará a cabo.
• proceso: El proceso a ejecutar.
El archivo /etc/inittab
22
# The default runlevel.id:2:initdefault:
# Boot-time system configuration/initialization script.# This is run first except when booting in emergency (-b) mode.si::sysinit:/etc/init.d/rcS
# What to do in single-user mode.~~:S:wait:/sbin/sulogin# /etc/init.d executes the S and K scripts upon change of runlevel.
# Runlevel 0 is halt.# Runlevel 1 is single-user.# Runlevels 2-5 are multi-user.# Runlevel 6 is reboot.l0:0:wait:/etc/init.d/rc 0l1:1:wait:/etc/init.d/rc 1l2:2:wait:/etc/init.d/rc 2l3:3:wait:/etc/init.d/rc 3l4:4:wait:/etc/init.d/rc 4l5:5:wait:/etc/init.d/rc 5l6:6:wait:/etc/init.d/rc 6
Ejemplo de archivo /etc/inittab (parte)
23
El script /etc/init.d/rc y los directorios /etc/rcx.d
Dentro del archivo /etc/inittab se hace referencia al script /etc/init.d/rc x, al que se le pasa un parámetro x que corresponde al runlevel, ejemplo:
....../etc/init.d/rc 2
Al ejecutarse el script, este leerá el directorio /etc/rcx.d correspondiente:
nvitti@apolo:/etc$ ls
* fdmount.conf magic rc.bootMuttrc fstab mail rc0.dNet ftpchroot mail.rc rc1.dX11 ftpusers mailcap rc2.dadduser.conf gateways mailcap.order rc3.dadjtime gpm.conf mailname rc4.daliases groff manpath.config rc5.dalternatives group mc rc6.dapache group- mediaprm rcS.dapt gshadow mime.types reportbug.confat.deny gshadow- minicom resolv.confbash.bashrc gtk modules rmtbash_completion hesiod.conf modules.conf rpcbash_completion.d host.conf modules.conf.old screenrc
24
nvitti@apolo:/etc/rc2.d$ ls -l
lrwxrwxrwx 1 root root 18 Sep 10 2002 S10sysklogd -> ../init.d/sysklogdlrwxrwxrwx 1 root root 15 Sep 10 2002 S11klogd -> ../init.d/klogdlrwxrwxrwx 1 root root 13 Sep 10 2002 S14ppp -> ../init.d/ppplrwxrwxrwx 1 root root 15 Sep 10 2002 S15bind9 -> ../init.d/bind9lrwxrwxrwx 1 root root 20 Sep 10 2002 S19nfs-common -> ../init.d/nfs-commonlrwxrwxrwx 1 root root 14 Sep 10 2002 S20exim -> ../init.d/eximlrwxrwxrwx 1 root root 15 Sep 10 2002 S20inetd -> ../init.d/inetdlrwxrwxrwx 1 root root 13 Sep 10 2002 S20lpd -> ../init.d/lpdlrwxrwxrwx 1 root root 15 Sep 10 2002 S20mysql -> ../init.d/mysqllrwxrwxrwx 1 root root 20 Sep 10 2002 S20postgresql -> ../init.d/postgresqllrwxrwxrwx 1 root root 18 Sep 10 2002 S20sendmail -> ../init.d/sendmaillrwxrwxrwx 1 root root 13 Sep 10 2002 S20ssh -> ../init.d/sshlrwxrwxrwx 1 root root 17 Oct 11 2002 S20uptimed -> ../init.d/uptimedlrwxrwxrwx 1 root root 16 Sep 10 2002 S20webmin -> ../init.d/webminlrwxrwxrwx 1 root root 13 Sep 10 2002 S23ntp -> ../init.d/ntplrwxrwxrwx 1 root root 15 Oct 6 2002 S30squid -> ../init.d/squidlrwxrwxrwx 1 root root 16 Sep 25 2002 S45usbmgr -> ../init.d/usbmgrlrwxrwxrwx 1 root root 16 Sep 10 2002 S91apache -> ../init.d/apachelrwxrwxrwx 1 root root 19 Sep 10 2002 S99rmnologin -> ../init.d/rmnologin
Directorio /etc/rcx.d
En él se encuentran los scripts de arranque de los servicios. Ej. /etc/rc2.d
25
Uso de /etc/rc2.d
Generalmente cuando se instala un servicio, autómaticamente se almacena su script de arranque en /etc/init.d, pero es necesario añadir una entrada en el directorio /etc/rc2.d para que el servicio arranque automáticamente al reiniciar el sistema.
Esto se puede realizar mediante un vínculo simbólico (comando “ln”):
#ln -s S20sendmail /etc/init.d/sendmail
26
Ejemplos:
shutdown -h 5 Apaga el sistema en 5 minutos después de ejecutarse y no reinicia
shutdown -h now Apaga el sistema en ese momento y NO lo vuelve a reinicia
halt Apaga el sistema de la misma manera que el comando anterior
shutdown -r 5 Apaga el sistema 5 minutos después de haberlo ejecutado y reinicia
shutdown -r now Apaga el sistema en ese momento y reinicia
reboot Reinicia el sistema
startx Inicia el entorno gráfico.
init 6 Reinicia el sistema
Parada del Sistema: comando shutdown
27
Instalación de SoftwareSe debe copiar el paquete desde CD, Internet u otro medio al archivo /tmp (recomendado) y luego aplicar alguno de los siguientes métodos según el caso. Independientemente del método, luego debe configurarse e iniciarse el paquete. a)Método Tradicional: Válido para LINUX o UNIX en cualquier distribución
Dentro de /tmp#gunzip paquete.tar.gz#tar –xvf paquete.tarCambiarse dentro del directorio paquete y aplicar:#./configure ; crea el Makefile#make ; Compila según lo indicado por Makefile#make install ; Realiza la instalación: crea subdirectorios, archivos, asigna permisos, fija variables de ambiente, etc.
28
Instalación de Software ( cont ...)
b)Método según la distribución. Se aplican comandos según el tipo de distribución. En LINUX Debian los paquetes pueden tener extensiones “.deb”. En Red Hat y Suse se usan extensiones “.rpm” , en UNIX Sun Solaris extisten extensiones “.pkg”. Según el caso, se aplica:
En Debian: #apt-get install paquete.debEn Red Hat, Suse y otros: #rpm –ivh paquete.rpmEn Solaris: #pkgadd –d paquete.pkg
)Mediante Interfaz Gráfica:Las interfaces gráficas más comunes son KDE, GNOME, CDE, entre otras. Todas ellas usan, internamente en la máquina el servidor X-Windows llamado X-free86 para producir las ventanas.YAST es una herramienta que corre sobre KDE para la configuración del sistema: instalación/remoción de software y hardware, red, mouse, video, etc.Abrir YAST > Modulos >Software > Instalar/Remover > Buscar “paquete” > Aceptar
29
FIN