Linux Overview Gilberto Diaz gilberto@ula.ve Centro de Cálculo Científico Universidad de Los Andes Mérida - Venezuela
Qué es Linux? Linux es el corazón de un S.O y constituye el núcleo o kernel. Éste ejecuta las aplicaciones e interactúa con el hardware. Fué escrito en 1991 por Linus Torvalds pero actualmente incluye código de miles de programadores alrededor del mundo. Este kernel es combinado con muchas otras aplicaciones y utilidades que juntas conforman un sistema operativo comunmente conocido como Linux o GNU/Linux http://www.lugatgt.org/articles/overview/
Qué son distribuciones? Existe una gran variedad de aplicaciones y programas que realizan diferentes tareas y están dedicadas a diferentes propósitos. Compañias como Red Hat, Mandrake, SUSE, Debian, etc. recopilan su propio conjunto de esas aplicaciones, modifican el kernel y elaboran sus propios programas de instalación. Este conjunto de aplicaciones, kernels e instaladores forman lo que se conoce como distribución.
GPL Gnu Public License: acuerda que cualquier software que sea desarrollado bajo este tipo de licencia puede ser utilizado en cualquier forma, puede ser modificado y copiado. Pero debe respetarse los derechos del autor reconociendo su trabajo. Además, indica que cualquier modificación debe ser compartida con la comunidad. El kernel de Linux y sus aplicaciones se rigen por esta licencia.
Quién controla Linux? No existe una entidad única que esté a cargo o posea la propiedad de Linux. Éste, es hecho por y para gente aficionada, hackers, y profesionales de todo el mundo.
Estructura de Linux Aplicaciones Shells Núcleo Hardware
El Kernel 1. Es la parte del Sistema Operativo que interactúa directamente con el Hardware. 2. Su función principal es: - La gestión de la memoria, el control de acceso al computador, - El mantenimiento al sistema de archivo, el manejo de las interrupciones. - El manejo de error y las realizaciones de los servicios de entrada y salida.
El Kernel - Tiempo compartido Fin quantum
El Kernel - Multitarea - Multiusuario - En su mayoria escrito en C. - TCP/IP - POSIX.
El Shell (interpretador de comandos) 1. Es una interfaz entre el Usuario y el sistema Operativo UNIX. 2. Se trata de un intérprete de Órdenes o de comando. 3. Lee las ordenes y las interpreta como ejecución de un programa o programas. 4. Incorpora un Leguaje de Programación de alto nivel. 5. Permite Controlar como y cuando se llevan a cavo las ordenes.
El Shell (interpretador de comandos) bash Versión GNU del shell estándar añadida al shell C. csh jsh ksh sh tcsh zsh El shell California. El shell de Trabajo (job), una extensión de shell estándar. El shell Korn. El shell estándar de UNIX, llamado también el shell Bourne. Una versión mejorada de csh. Un shell mejorado que se asemeja a ksh.
Aplicaciones y Servicios - Telnet, ssh - Firewalls - FTP - Router - NIS - DHCP - NFS - Impresión - DNS - Servidor de comunicación - WEB - Servidor de S.O - Base de Datos - Correo Electró. - etc.
Instalación, Arranque y Parada de Linux
Proceso de Arranque - Carga del núcleo. - Verificación del hardware. Creación y detección de dispositivos - Creación de procesos del sistema. - Proceso init. Archivo de configuración: /etc/inittab - Verificación de sistemas de archivos. - Montaje de sistemas de archivos.
Proceso de Arranque Ejemplo del archivo "inittab" id:3:initdefault: #System initialization si::sysinit:/etc/rc.d/rc.sysinit.. l3:3:wait:/etc/rc.d/rc 3..
Proceso de Parada Comando shutdown Reinicio, detención o tareas administrativas de bajo nivel - Envio de señal SIGTERM a los procesos. - Bloqueo de login. - Ejecución del procesos init en nivel 0. desmontaje de sistemas de archivos.
Administración de Usuarios
Administración de Usuarios: Concepto de Propiedad - Cada archivo tiene propietario - El sistema asocia cuatro números o identificadores a cada proceso UID real y efectivo GID real y efectivo
Administración de Usuarios: Archivos Principales /etc/passwd login:passwd:uid:gid:gecos:directorio:cmd /etc/group grupo:passwd:gid:lista
Administración de Usuarios: Acceso en la red /etc/netgroup (máquina, usuario, dominio)
Administración de Sistemas de Archivos
Administración de Sistemas de Archivos: Sistema de Archivos Son métodos y estructuras de datos que un S.O. utiliza para organizar los archivos en un disco o partición. También se usa para referirse a una partición particular o espacio determinado que se encuentra bajo una organización específica.
Administración de Sistemas de Archivos: Inodo Es una estructura de datos que contiene la información correspondiente a un archivo. Nombre, dueño grupo, fecha hora, tamaño 9 bit perm. 13 apuntadores
Administración de Sistemas de Archivos: Sistema de Archivos Sistema de archivos jerárquico con el origen en nodo raiz (/). / bin etc var tmp sbin home
Administración de Sistemas de Archivos: Permisología El comando chmod El comando ls -l r w x r w x r w x Dueño Grupo Otros
Administración de Sistemas de Archivos: Sistemas de Archivos locales /etc/fstab /dev/hda1 / ext2 defaults 1 1 El comando mount El comando fsck
Administración de Procesos
Administración de Procesos: Estados de un Proceso Listo Suspendid o Listo Despachar Suspender Fin quantum Reanudar Fin E/S En Ejecució n Fin E/S Bloquead o Suspender Reanudar Suspendid o Bloqueado
Administración de Procesos: Comandos para manejo de Procesos ps -aux kill señal PID jobs fg bg & CTRL Z
Administración de Interfaces de Red
Administración de Interfaces de Red: Configurando la red El comando ifconfig El comando netstat El comando route El comando ping
Administración del Servidor
Administración del Servidor: Servicios de Red /etc/hosts Dirección IP máquina Alias /etc/ethers Dirección Fis. Dirección IP
Administración del Servidor: Servicios de Red /etc/services nombre puerto/protocolo alias /etc/protocols nombre puerto alias
Administración del Servidor: Servicios de Red El demonio inetd /etc/inetd.conf Nombre tipo protocolo wait status uid demonio args dgram wait stream nowait
Servicios de Red
Servicios de Red: Dynamic Host Configuration Protocol (DHCP) Servidor DHCP Mi configuración? Cliente IP, DNS server, Router
Servicios de Red: Dynamic Host Configuration Protocol (DHCP) servidor_subnet 192.168.1.0 netmask 255.255.255.0 { range dynamic-bootp 192.168.1.2 192.168.1.6; option subnet-mask 255.255.255.0; option broadcast-address 192.168.1.255; option routers 192.168.1.1; option domain-name "ula.edu.ve"; option domain-name-servers 192.168.1.1; }
Servicios de Red: Dynamic Host Configuration Protocol (DHCP) subnet 150.185.138.0 netmask 255.255.255.0 { range dynamic-bootp 150.185.138.200 150.185.138.210; option subnet-mask 255.255.255.0; option broadcast-address 150.185.138.255; option routers 150.185.138.254; option domain-name "cecalc.ula.ve"; option domain-name-servers 150.185.138.1; }
Servicios de Red: Dynamic Host Configuration Protocol (DHCP) host chama2 { hardware ethernet 00:90:27:6A:93:66; fixed-address chama2.ula.edu.ve; } host chama3 { hardware ethernet 00:90:27:6A:96:4C ; fixed-address chama3.ula.edu.ve; }
Servicios de Red: Network Information Service (NIS) Servidor Maestro Servidor Esclavo Mapas NIS Clientes...
Servicios de Red: Configuración del Servidor NIS /etc/ypserv.conf /etc/yp.conf Comandos: domainname dominio ypinit [-m] [-s servidor_maestro] ypserv ypxfrd ypbind
Servicios de Red: Configuración de los Clientes NIS Comandos: domainname dominio ypbind
Servicios de Red: Sistemas de Archivos de Red (Servidor NFS) /etc/exports /home atlas(rw, no_root_squash) /cdrom *.dominio(ro) /home pc1(rw,all_squash,anonuid=150,anongid=100)
Servicios de Red: Sistemas de Archivos de Red (Cliente NFS) /etc/fstab atlas:/home /home nfs rw,soft,bg,intr 0 0
Servicios de Red: Comandos y conchas remotas Los comandos rsh rlogin rcp Los archivos High Performance Computing on Linux /etc/hosts.equiv.rhosts
Servicios de Red (DNS): Base de Datos Distribuida.co m.edu.cu.ve..ula.cecal c.cien s.ing
Servicios de Red (DNS): Componentes Resolver Bibliotecas Servidor Demonio named
Servicios de Red (DNS): Tipo de Servidores Servidor Primario Servidor Secundario Servidor de Cache
Servicios de Red (DNS): Configuración del resolver /etc/resolv.conf.domain cecalc.ula.ve nameserver 150.185.138.1
Servicios de Red (DNS): Configuración del servidor primario /etc/named.conf options { directory "/var/named"; };
Servicios de Red (DNS): Configuración del servidor primario /etc/named.conf zone "ula.edu" in { type master; file "hosts"; }; zone "1.168.192.in-addr.arpa" in { type master; file "hosts.rev"; };
Servicios de Red (DNS): Configuración del servidor primario /etc/named.conf zone "." in { type hint; file "named.cache"; }; zone "0.0.127.in-addr.arpa" in { type master; file "named.local"; };
Servicios de Red (DNS): Configuración del servidor secundario /etc/named.conf zone "ula.edu" in { type slave; file "hosts"; masters { 150.185.146.1; } }; zone "1.168.192.in-addr.arpa" in { type master; file "hosts.rev"; masters { 150.185.146.1; } };
Servicios de Red (DNS): Configuración de las tablas db ula.edu. IN SOA nodo1.ula.edu. root.nodo1.ula.edu. ( 990631 ;Serial 3600 ;Frec. de chequeo (secund -> prim) 1800 ;Reintento si falla (secund -> prim) 360000 ;Tiempo de expiracion de datos 3600) ;Tiempo de vida de los datos ; Servidores DNS para este Dominio ula.edu. IN NS nodo1.ula.edu. ; ; Servidores de MAIL para este Dominio.ula.edu. IN MX nodo1.ula.edu.
Servicios de Red (DNS): Configuración de las tablas db localhost IN A 127.0.0.1 nodo1 IN A 192.168.1.1 nodo2 IN A 192.168.1.2 nodo3 IN A 192.168.1.3 nodo4 IN A 192.168.1.4 nodo5 IN A 192.168.1.5 nodo6 IN A 192.168.1.6 nodo7 IN A 192.168.1.7 mailhost IN CNAME nodo1.ula.edu.
Servicios de Red (DNS): Configuración de las tablas de reverso ula.edu. IN SOA nodo1.ula.edu. root.nodo1.ula.edu. ( 990629 ;Serial 3600 ;Refresh 1800 ;Retry 360000 ;Expire 3600) ;Minimum IN NS nodo1.ula.edu.
Servicios de Red (DNS): Configuración de las tablas de reverso 1 IN PTR nodo1.ula.edu. 2 IN PTR nodo2.ula.edu. 3 IN PTR nodo3.ula.edu. 4 IN PTR nodo4.ula.edu. 5 IN PTR nodo5.ula.edu. 6 IN PTR nodo6.ula.edu. 7 IN PTR nodo7.ula.edu.
Servicios de Red (DNS): Configuración de las tablas de cache ftp.rs.internic.net/domain/db.cache
Servicios de Red (WEB): Funcionamiento SERVIDOR CLIENTE
Servicios de Red (WEB): Comandos principales apachectl httpd htpasswd
Servicios de Red (WEB): Archivos de Configuración httpd.conf srm.conf access.conf mime.types
Servicios de Red (WEB): Archivos de Configuración ServerType standalone ServerRoot "/admin/web" PidFile /admin/web/logs/httpd.pid ScoreBoardFile /admin/web/logs/httpd.scoreboard Timeout 300 KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 15 MinSpareServers 5 MaxSpareServers 10.
Servicios de Red (WEB): Archivos de Configuración StartServers 5 MaxClients 150 MaxRequestsPerChild 30 Port 80 User nobody Group nobody ServerName atlas.cecalc.ula.ve
Servicios de Red (WEB): Archivos de Configuración <Directory "/admin/httpd/htdocs"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> <Directory "/home/espana/avictor/public_html/*"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory>
Servicios de Red (WEB): Archivos de Configuración UserDir public_html DirectoryIndex index.html index.htm AccessFileName.htaccess <Files.htaccess> Order allow,deny Deny from all </Files> UseCanonicalName On TypesConfig /admin/web/conf/mime.types DefaultType text/plain
Servicios de Red (WEB): Archivos de Configuración <IfModule mod_mime_magic.c> MIMEMagicFile /admin/web/conf/magic </IfModule> HostnameLookups Off ErrorLog /admin/web/logs/error_log LogLevel warn CustomLog /admin/web/logs/access_log common CustomLog /admin/web/logs/referer_log referer CustomLog /admin/web/logs/agent_log agent ServerSignature On Alias /icons/ "/admin/httpd/icons/"
Servicios de Red (WEB): Archivos de Configuración <Directory "/admin/httpd/icons"> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory> ScriptAlias /cgi-bin/ "/admin/httpd/cgi-bin/" ScriptAlias /cgi-recursos/ /admin/bd/postgres/public_html/cgi-bin/ ScriptAlias /cgi-bin2/ "/home/ciencias/noemi/public_html/cgi-bin/"
Servicios de Red (WEB): Archivos de Configuración <Directory /admin/httpd/htdocs/aleph> AllowOverride FileInfo AuthConfig Limit Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec <Limit GET POST OPTIONS PROPFIND> Order allow,deny Allow from all </Limit> <Limit PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK> Order deny,allow Deny from all </Limit> </Directory>
Servicio WEB: Archivos de Configuración <VirtualHost 150.185.138.1> ServerAdmin info@cecalc.ula.ve DocumentRoot /admin/httpd/htdocs ServerName www.cecalc.ula.ve </VirtualHost> <VirtualHost 150.185.138.1> ServerAdmin avictor@cecalc.ula.ve DocumentRoot /home/espana/avictor/public_html/arqcomp ServerName arqcomp.cecalc.ula.ve </VirtualHost>
High Performance Computing on Linux Servicios de Red: NTP Concepto Permite sincronizar relojes de máquinas y equipos de comunicación que esten conectados a la red con un sistema central de tiempo.
Servicios de Red: Sincronización por capas
Servicios de Red: NTP Sincronización por capas El servicio NTP esta proporcionado por una red de servidores localizados a traves de internet: Servidores Primarios (Stratum 1): Estan conectados directamente a una fuente de tiempo; radio, satelite. Los pueden observar en http://www.eecis.udel.edu/~mills/ntp/clock1a.html
Servicios de Red: NTP Sincronización por capas Servidores Secundarios (Stratum 2): Estan sincronizados directamente con los servidores primarios. Los pueden observar en http://www.eecis.udel.edu/~mills/ntp/clock2a.html Servidores Stratrum 3: Estan sincronizados con los de stratum 2. Los servidores de nivel mas bajo se ejecutan en las estaciones de trabajo.
Servicios de Red: NTP Métodos de Sincronización Modo multidifusión: Se emplea en LAN de alta velocidad. Uno ó más servidores reparten periodicamente el tiempo a los otros computadores. Modo Llamada a procedimiento: Un servidor acepta solicitudes de otros computadores, respondiendo con su lectura actual del reloj. Modo Simétrico: Permite a cada uno de dos servidores sincronizarse con otros para general copias de seguridad mutuamente.
Servicios de Red: NTP Características La presición a nivel de WANs es del orden de décimas de milisegundos. La presición a nivel de LANs esta en el orden de milisegundos y microsegundos usando fuentes de presición del tiempo, ejemplo: GPS. Emplea los puertos 123 UDP y TCP.
Servicios de Red: NTP Configuración Servidor server 150.188.8.196 # broadcast 192.168.1.255 driftfile /etc/ntp/ntp.drift authenticate no
Servicios de Red: NTP Configuración Cliente server 192.168.1.1 driftfile /etc/ntp/drift authenticate no
Procesos Periódicos
Procesos Periódicos: Procesos Automáticos El demonio cron Archivos cron Minutos Hora DiaDelMes Mes DiaDeLaSemana Comando El comando crontab
Procesos Periódicos: Procesos Automáticos El comando at El comando crontab
Supervisión del Sistema
Supervisión del Sistema y la Red: Archivos del sistema - El archivo - El archivo /etc/syslog.conf /var/log/messages
Programación Shell
Programación Shell: Estructura de un script Manipulación de variables Lectura y escritura Manupulación de parámetros Estructuras de decisión Estructuras de repetición
Programación Shell: Varios comandos en línea: comando; comando; Encauzamiento (pipelining): comando1 comando2 comando3 entrada comando1 comando2 comando3 salida
Programación Shell: Cualquier usuario UNIX puede colocar comandos básicos en un archivo de texto y hacerlos ejecutar en "lote". Las conchas ofrecen lenguajes modernos de programación de propósito general.
Programación Shell: Manipulación de parámetros - sh nombres = `cat lista` echo La fecha de hoy es `date` echo El número de argumentos es $# chmod + x $1
Programación Shell: Estructuras de Decisión if [ comando_expresión ] then Comandos que se ejecutan si el comando_expresión termina correctamente. else fi Comandos que se ejecutan si el comando_expresión no termina correctamente.
Programación Shell: Estructuras de Repetición: El "for" for variable in lista do comandos done El "until" until comando do comandos done El "while" while comando do comandos done
Gracias!