Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sesin 1
Ttulo: Qu es Linux?
Temas: Orgenes de Unix y de Linux. GNU y Open Source Kernel de Linux Distribuciones de Linux Usos y recursos de Linux KDE Gnome Conexin a Linux (log) Sesiones de usuario Grupos de usuarios Reuniendo informacin del sistema Caractersticas del sistema de archivos. Manejo de directorios y archivos Permisos sobre archivos
El Sistema de archivos
Temas: Editores Busqueda de Archivos Ordenamientos de texto Extrayendo columnas de texto Mezclando Archivos GNU/Nano vi
Papel de las Shells Canales de comunicacin Redireccin y tuberas (>, >>, <, |) Nombres de Archivo y comodines Variables de ambiente Comandos anidados y apstrofos Expresiones Regulares Historia de comandos Archivos de configuracin Finalizacin de comandos
Temas: La Shell Segura Shell Remotas Transfiriendo Archivos Conceptos y Usos Parmetros posicionales Input y Output Ejecucin condicional Lazos Conceptos de Procesos Creacin y estado de procesos Informacin de procesos Seales Fundamentos de control de trabajos tar gzip bzip2
Temas: Carga (Booting) de multiple Sistemas Operativos Cosideraciones de preinstalacin Particiones y sistemas de archivos. Boot Loader Carga (Booting) de Linux y opciones de Grub Parmetros de carga del Kernel Administracin de demonios Control de los servicios de arranque Descarga (Shutdown) y recarga (reboot) del Sistema. Software Administracin de Paquetes Configuracin de utilidades Configuracin de Imporesoras Montaje de sistema de archivo NFS y SMB Tabla de sistemas de archivos y montajes automticos Medios removible
Temas: Tablas de particin y administracin del sistema de archivos. SWAP. Cuotas de disco y listas de control de acceso a archivos. Descarga de software Instalacin de software APT-get, dselect, console-apt, gnome-apt. Compilando e instalando desde el fuente. Por que es necesaria la compilacin? Configuracin del kernel. Fuentes del kerne Compilacin del kernel Instalacin del kernel Recomendaciones.
Administracin de software
Ttulo: Administracin de usuarios, grupos y NFS Automatizacin de tareas y administracin de procesos Impresin
Temas: Administracin de usuarios. Administracin de grupos. Compartiendo archivos con NFS. Automatizacin de tareas. Comando cron y at.
Subsistemas de impresin y comandos de impresin estndares Utilidades de conversin de formatos Ghoscript, Downloading software
FUNDAMENTOS LINUX.
Qu es Linux?
Es el ncleo o kernel del sistema operativo del tipo UNIX denominado GNU/Linux . Alternativa frente a sistemas operativos NO libres como Windows o UNIX. Fue creado por un estudiante Finlands, Linus Torvalds, en la Universidad de Helsinki. Idea inicial -->realizar una mejora sobre Minix (S.O. basado en UNIX). El trabajo comenz en 1991. Los hackers de Minix aportaron ideas y cdigo al ncleo Linux. En 1994 se lanz la versin 1.0 del ncleo. Se lleg a un acuerdo con GNU para desarrollar el ncleo y los programas necesarios Conjuntamente. Hasta hoy ha recibido contribuciones de miles de programadores
FUNDAMENTOS LINUX.
Qu es GNU?
GNU fue lanzado en 1984 por Richard Stallman para desarrollar un completo sistema operativo tipo UNIX, bajo la filosofa del software libre. GNU es un acrnimo recursivo para GNU No es Unix y se pronuncia fonticamente en espaol El Software Libre es un asunto de libertad, no de precio. 4 libertades para los usuarios:
Libertad de usar el programa, con cualquier propsito. Libertad de estudiar el funcionamiento del programa, y adaptarlo a las necesidades ( acceso al cdigo fuente). Libertad de distribuir copias, con lo que puede ayudar a otros. Libertad de mejorar el programa y hacer pblicas las mejoras, toda la comunidad se beneficia ( acceso al cdigo fuente).
FUNDAMENTOS LINUX.
Licencias
Inicialmente, Torvalds distribuy Linux bajo los trminos de una licencia que prohiba la explotacin comercial. Esta licencia fue reemplazada por la GNU GPL (General Public License). GPL, licencia creada por la FSF (Free Software Foundation) a mediados de los 80.Orientada principalmente a proteger la libre distribucin, modificacin y uso de software. GPL permiten la distribucin y venta de copias o incluso modificaciones, pero requiere que todas las copias del trabajo original y trabajos de autora derivados del original sean publicados bajo los mismos trminos, y que el cdigo fuente siempre pueda obtenerse por el mismo medio que el programa licenciado
FUNDAMENTOS LINUX
Distribuciones / Distro
Sistema completo GNU/Linux (kernel + aplicaciones) construidos por compaas para crear entornos ms amigables, proporcionar soporte corporativo y obtener un beneficio comercial. Ejemplos:
Ubuntu, SUSE, Mandriva, Fedora, Debian, KNOPPIX, Gentoo, Slackware... Sistema de ficheros. Formatos de ficheros soportados.. Administrador de paquetes (ej: apt, dpkg, Synaptic) Herramienta de actualizacin online (ej: apt) Aplicaciones de usuario....
Diferencias
FUNDAMENTOS LINUX
Caractersticas Bsicas
Sistema Completo
Ncleo/Kernel Linux Aplicaciones y utilidades GNU Resto aplicaciones (GPL, BSD, privadas,...). Intel, AMD, (32, 64 bits), MIPS, PowerPC, Sparc, ... Mltiples usuarios trabajando a la vez en el sistema GNOME, KDE, Xfce,... Administracin por Consola Administracin remota. Servicios de red
Multiplataforma
Multitarea / Multiusuario
Orientado a redes
FUNDAMENTOS LINUX
Caractersticas Bsicas
Estable
Rebotes inusuales Separacin de usuarios y niveles de ejecucin. Miles de programadores en el mundopara corregirlos.
Resolucin de bugs
FUNDAMENTOS LINUX
Estandarizacin
Conjunto de API para acceso al S.O, de modo que una aplicacin pueda ejecutarse en distintas plataformas (Unix, FreeBSD, Linux,...) Actualmente el mundo Unix se orienta a SUS (Single Unix Specification) que es libre y gratuita. (MAC OSX10, HP-UX, IBM AIX, Sun Solaris 10,...) Gestionada por la Linux Foundation. Derivada de POSIX, SUS y otro estndares abiertos, extendindolos en ciertas reas. Crear y normalizar estndares para el desarrollo de la arquitectura Linux y sus aplicaciones. Usado por casi todas las distribuciones Jerarqua de los directorio en entornos Unix.
Particionado de Disco
PARTICIONES HABITUALES / RECOMENDADAS
Directorio root - /
Particin obligatoria Guarda el kernel y configuracin de arranque. Sistemas Antiguos: Pequeo tamao y en el principio de disco para asegurar que se encuentra entre los 1024 primeros cilindros del disco (Limitaciones de BIOS) Para archivos de log Separamos los datos de los usuarios Particin de memoria de intercambio
/boot
/var
/home
/swap
Particionado de Disco
PARTICIN SWAP
Particin de intercambio, se usa para soportar la memoria virtual (hacer creer a los programas que se tiene ms memoria que la disponible realmente). Obligatorio si se tiene poca memoria RAM, y en otro caso recomendable (seguridad y mejora de rendimiento). Funcionamiento:
El S.O. busca proceso poco activo, y lo mueve al rea de intercambio (el disco duro) y as libera la memoria principal para cargar otros procesos. . Cuando sea necesario, el sistema vuelve a hacer un intercambio, pasndolo del disco a memoria RAM.
La lnea de Comandos. El Sistema de Ficheros. Procesado de textos usando filtros. Flujos, tuberas y redirecciones. Gestin de Procesos El editor de Textos Vi
Interfaz interactivo entre el Kernel de Linux y el usuario. Proceso o trabajo (job) ejecutndose en background. Mltiples Shell => sh, bash (GNU), csh, korn shell, ash,... Espera los comandos que queramos ejecutar: usuario@pc_pruebas:/home/usuario$ comando {opciones} {argumentos}
Comando: Programa a ejecutar Opciones: Opciones para el programa. Normalmente precedidas - o -- Argumentos: Entrada/Salida del programa (archivos, datos, variables)
Variables entorno/proceso que definen el funcionamiento shell. Definidas al inicio, modificables por el usuario/programas y tambin pueden ser definidas durante la ejecucin. PS1 : Contiene el prompt del sistema
$echo $PS1 \$ $PS1=\u@\h:\w\$ usuario@pc_pruebas:/home/usuario$ echo $PS1 \u@\h:\w\$
usuario@pc_pruebas:/home/usuario$
$ => Usuario normal # => Usuario root
PATH :Lista de directorios con los programas habituales Para ejecutar un comando/programa en bash, el comando deber:
Ser un comando propio de bash. Estar en un directorio de PATH En caso contrario, habr que definir toda la ruta para ejecutarlo usuario@pc_pruebas:/home/usuario$echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games usuario@pc_pruebas:/home/usuario$ /bin/ls usuario@pc_pruebas:/home/usuario$ ls usuario@pc_pruebas:/bin$./ls
La lnea de Comandos
HISTORIAL DE COMANDOS
Para facilitar el trabajo Historial con los ltimos comandos tecleados: Flecha Arriba/Flecha abajo
HISTSIZE= 500; HISTFILE=~/.bash_history $ history => Comando de bash para ver el historial
Para completar los comandos automticamente al teclear, si estn en el PATH. Para listar contenidos en directorios con primeras letras igual a las tecleadas.
La lnea de Comandos
COMANDOS HABITUALES
man Informacin sobre uso de comandos en terminal cd Cambio de directorio activo ls Listado de contenidos de directorio cp Copiar ficheros mv Mover ficheros rm Borrar ficheros more / cat / tail / less Mostrar ficheros en pantalla grep Filtrar lneas de texto de acuerdo a un patrn find / which Encontrar archivos en el sistema echo Mostrar texto en pantalla
La lnea de Comandos
SU y SUDO
Necesario conocer el Password de nuevo_usuario Nueva shell lanzada por nuevo_usuario. Sin parmetros se cambia,por defecto, a root.
usuario@pc_pruebas:/home/usuario$ sudo more /etc/passwd Contrasea:********
Ejecutas un comando con privilegios de root Se introduce el password de usuario Necesario configuracin en /etc/sudoers
El Sistema de Ficheros
En un sistema Unix todo son archivos: memoria fsica, ratn, modems, teclado... Filosofa de diseo de grn xito y potencia, aunque tambin peligrosa: un simple error de permisos puede permitir modificar todo un disco duro. Tipos de archivos:
Orientados a bloque --> almacenan info en bloques de tamao fijo y utilizan los buffers del sistema. Orientados a caracter-> envan/reciben flujo de datos de forma secuencial. Procesos de lectura/escritura no poseen buffer (ej: ratn).
El Sistema de Ficheros
Linux se soporta sobre una estructura jerrquica de ficheros, directorios y subdirectorios, en forma de rbol. Esta estructura normalmente (segn distribuidor) sigue las recomendaciones del FHS. De modo que en cualquier sistema Unix un usuario experimentado pueda encontrar lo que busca. El rbol comienza en el directorio raz / A partir de / se divide en directorio, subdirectorios hasta los ficheros, que seran las hojas.(No olvidar que los mismos directorios son tambin ficheros) Es necesario conocer este sistema y saber manejarse en l
El Sistema de Ficheros
PATHNAMES o RUTAS
Definen unvocamente un fichero en el arbol de directorio. Es la posicin o ruta del fichero en el arbol.
RUTA ABSOLUTA:Comienza en el directorio raz. ( /etc/passwd ) RUTA RELATIVA: Ruta al fichero desde el directorio activ ( ../passwd)
El Sistema de Ficheros
NOMENCLATURA
Hasta 255 caracteres (alfanumricos y no-alfanumricos). Evitar caracteres especiales y espacios. Extensiones para los archivos opcionales. Nombre comienzan con . => Ficheros ocultos
ABREVIATURAS
. Directorio activo/de trabajo/actual. .. Directorio padre (Parent Directory) al activo. ~ Directorio home del usuario actual (Normalmente /home/usuario) ~username Directorio home de usuario username
El Sistema de Ficheros
CARACTERES ESPECIALES
* : Sustituye una cantidad cualquiera de caracteres ? : Sustituye un carcter [chars] : Sustituye un carcter de los indicados entre corchetes [!char] : Sustituye un carcter que no est entre corchetes [a-z] : Sustituye un carcter que est en el rango de caracteres. [!a-z]: Sustituye un carcter que no est en el rango.
El Sistema de Ficheros
ESTRUCTURA
Obligatorio en cualquier sistema Linux La FHS recomienda instalarlo en una particin con lo mnimo. Proteccin frente a corrupcin y fallos. Debe contener lo necesario para arrancar el sistema. Debe contener las herramientas necesarias para que el administrador repare el sistema. Debe ser pequeo. El software de usuario no debe crear ficheros en este sistema de ficheros.
El Sistema de Ficheros
ESTRUCTURA
Los directorios esenciales para esta particin son: /bin Ejecutables para uso del sistema /dev Ficheros de dispositivo. (udev, monta sistema de archivos virtual /dev) /etc Ficheros de configuracin /lib Librerias compartidas y mdulos del kernel. /sbin Ejecutables para administracin del sistema. /mnt Para montar particiones temporales (CDROM, floppy,...) /root Home del usuario root
El Sistema de Ficheros
ESTRUCTURA
Resto de directorios
Se podrn instalar en otras particiones:. /boot Kernel y ficheros del Boot Loader.. /home Directorios home de los usuarios. /opt Software de terceros /usr Ejecutables no esenciales para recuperacin del sistema /varDatos variables en tiempo como logs, mail,... /tmp Ficheros temporales
El Sistema de Ficheros
ESTRUCTURA
/usr
Programas, ficheros de administracin no esenciales para recuperacin del sistema. Se desaconseja la instalacin de software de terceros. /usr/bin Comandos de usuario /usr/include Ficheros para programacin C, C++ /usr/lib Libreras compartidas /usr/local Estructura directorios para uso del administrador /usr/sbin Comandos de administracin. /usr/share Ficheros estticos a compartir con otros equipos. /usr/src Para guardar cdigo fuente. /usr/X11R6 Excepcin. Ficheros del Sistema XWindows
El Sistema de Ficheros
COMANDOS BSICOS DE MANEJO DEL SISTEMA DE ARCHIVOS
# Lista contenido de directorios # Cambia /muestra la ruta de directorio # Crea fichero vaco o actualiza existente # Copia / mueve/ elimina fichero # Muestra una lnea de texto # Muestra la hora del sistema # Muestra el tipo de fichero # Apaga el sistema
Linux tiene multitud de filtros de texto para procesar ficheros y mostrarlos por la salida estandard. Algunos de los ms habituales: cat cut sort head tail Wc # Muestra fichero por salida estandard # Muestra secciones de cada lnea de los ficheros # Ordenar las lneas de un fichero de texto # Mostrar la primera parte del fichero # Muestra la parte final del fichero # Nmero de palabras, bytes, lneas de un fichero
nl # Numera las lneas de un fichero tr # Traduce unos caracteres por otros Otros: expand, fmt, join, od, paste, pr, split, tac, unexpand, uniq, xargs
Funcionalidad propia de la shell. Permite controlar y dirigir la entrada/salida/errores de una aplicacin Al lanzar un proceso se definen 3 file descriptors:
0: STDIN o entrada estndar (teclado) 1: STDOUT o salida estndar (terminal) 2: STDERR o salida de error
STDIN
PROCESO
STDOUT
STDERR
REDIRECCIONES
Controlan el origen de los flujos de entrada y el destino de los flujos de salida Se redirigen hacia ficheros, aplicaciones (PIPES), dispositivos (ficheros de dispositivos)
usuario@pc_pruebas:/home/usuario$ ls -i | awk '{print $1}' | sort -nu >> output.txt
$ cmd > fichero / cmd 1> fichero #Stdout a fichero $ cmd >> fichero / cmd 1>> fichero #Aade stdout a fichero $ cmd 2> fichero #Stderr a fichero $ cmd 2>> dichero #Aade Stderr a fichero $ cmd 2> /dev/null #Stderr a /dev/null $ cmd > fichero 2> log_error # Stdout a fichero y Stderr a log_error $ cmd > fichero 2>&1 # Stdout y Stderr a fichero $ cmd < fichero # Recibe fichero por stdin
Lnea de Comando
COMANDO TEE
Permite ver los resultados parciales de una redireccin. Lee Stdin y escribe en Stdout y en Fichero
usuario@pc_pruebas:/home/usuario$ ls -a | tee fichero
El editor de textos VI
Editor de textos en shell.
Modos de operacin:
Modo Comando: Puedes moverte por el fichero y ejecutar comandos (Combinaciones de una o ms teclas) Modo Insercin: Insercin de texto.
Preceder los comando de un nmero n hace que se repitan n veces, La mayscula y minscula de una letra suelen tener efectossimilares.