Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Administración básica de ubuntu server parte 3

3,116 views

Published on

Parte 3 del conjunto de diapositivas del curso de administracion basica de ubuntu

Published in: Technology, Education
  • Be the first to comment

Administración básica de ubuntu server parte 3

  1. 1. Administración básica de Ubuntu server(PARTE 3)<br />Santiago Márquez Solís<br />
  2. 2. La Parte 1 y 2 están en…<br />http://www.slideshare.net/SantiagoSolis1/administracin-bsica-de-ubuntu-server-parte-1<br />http://www.slideshare.net/SantiagoSolis1/administracin-bsica-de-ubuntu-server-parte-2<br />
  3. 3. Contenidos<br />Lenguaje Shell Script<br />Gestión de aplicaciones: apt, aptitude y dpkg<br />Procesos. Programación de tareas con cron<br />Comandos de red<br />Arranque y parada de servicios del servidor<br />Ficheros de configuración<br />
  4. 4. Lenguaje shell script<br />
  5. 5. Contenidos<br />Introducción<br />La sentencia exit<br />Variables del shell<br />Definición de variables de usuario<br />Sentencia echo<br />Sentencia expr<br />Sentencia read<br />Paso de argumentos<br />Sentencias de Control<br />
  6. 6. Shell Script (1)<br />Un Shell Script es un conjunto de comandos de Linux que se agrupan dentro de un fichero para permitir su ejecución de manera secuencial.<br />La creación de un Shell Script o Guión sigue los pasos siguientes:<br />Se crea el fichero con los comandos usando un editor de textos (por ejemplo vi)<br />Se dan permisos de ejecución sobre el fichero con el comando chmod +x<br />Sobre las comillas: Hay tres tipos:<br /><ul><li> “ (dobles) : pierde el significado lo que haya dentro (excepto la y el $).
  7. 7. ‘ (sencilla) 'Single quotes' – lo muestra entre las comillas
  8. 8. ` (hacia tras) `Back quote` - ejecuta comandos</li></ul>Ejemplos:<br />$ echo "Todayis date"<br />$ echo "Todayis ‘date’"<br />$ echo "Todayis `date`"<br />Generalmente se suele asignar a los ficheros que contienen un Shell Script la extensión .sh pero no es obligado.<br />http://www.faqs.org/faqs/unix-faq/shell/shell-differences/<br />
  9. 9. Shell Script (2)<br />La ejecución de un Shell Script suele seguir una sintaxis similar a la siguiente:<br />bashyour-script-name<br />shyour-script-name<br />./your-script-name<br />./ significa que el directorio actual<br />Usar solo el punto (.) significa ejecutar el comando en la actual instancia de shell<br />. comando<br />
  10. 10. Shell Script (3)<br />Un primer ejemplo: ejemplo1.sh<br />#<br /># ejemplo1.sh<br />#<br />Clear<br />Echo “Hola Mundo Ubuntu!!!”<br />
  11. 11. Shell Script (4)<br />Otro ejemplo más: ejemplo2.sh<br />#<br /># Saluda al usuario, muestra la fecha, número de <br /># terminales donde el usuario está logado y el <br /># calendario del mes actual<br />#<br />clear<br />echo "Hello $USER"<br />echo "Todayis c ";date<br />echo "Number of userlogin : c" ; who | wc -l<br />echo "Calendar"<br />cal<br />exit 0<br />
  12. 12. Shell Script (5)<br />La Sentencia exit<br />Todos los comandos Linux finalizan devolviendo dos tipos posibles de valores:<br />0 que significa que el comando se ejecutó correctamente<br />Otro valor que significa que se produjo algún tipo de error<br />Al valor de salida de un comando (o shell) se le denomina Exit Status.<br />Para determinar el valor de salida de una instrucción existe una variable de Shell que nos da esa información:<br />echo $? Nos indica el Exit Status del último comando ejecutado<br />Podemos consultarla haciendo echo $?<br />
  13. 13. Shell Script (6)<br />Variables (1)<br />Porciones de memoria a las que los programadores asignan nombres únicos para poder trabajar con ella y que almacenan los datos de los programas que desarrollan<br />En Linux tenemos dos tipos de variables:<br />De sistema:<br />Creadas y mantenidas por el propio Linux<br />Están escritas siempre en mayúsculas<br />Definidas por el usuario:<br />Creadas y mantenidas por los usuarios<br />Están escritas siempre en minúsculas<br />Para ver las variables del sistema usamos el comando set que nos devuelve todas las que existen.<br />Para ver una variable particular: echo $variable<br />
  14. 14. Shell Script (7)<br />Variables (2) <br />Algunas de las variables más importantes de sistema son:<br />
  15. 15. Shell Script (8)<br />Variables (3):<br />Si queremos definir nuestras propias variables tenemos que hacer lo siguiente:<br />Nombre de variable = Valor  Asigna Valor al Nombre de variable<br />Ejemplo:<br />$ no=10<br />$ vech=Bus<br />$ a=$USER<br />Y visualizar su contenido es igual que con las de sistema:<br />echo $a  nos devolvería el usuario de la sesión<br />
  16. 16. Shell Script (9)<br />Variables (4)<br />Reglas para trabajar con variables (1)<br />Deben comenzar con un carácter alfanumérico o con el símbolo (_), seguida de uno o más caracteres alfanuméricos<br /> No pueden usarse secuencias de caracteres reservados (no usar?,* etc.)<br />No se pueden poner espacios antes o después del signo igual cuando estamos haciendo la asignación del valor<br />$ no=10  Correcto<br />$ no =10  Incorrecto<br />$ no= 10  Incorrecto<br />$ no = 10  Incorrecto<br />
  17. 17. Shell Script (10)<br />Variables (5)<br />Reglas para trabajar con variables (2)<br />Se distingue mayúsculas de minúsculas por lo que las siguientes variables son todas diferentes:<br />$ no=10<br />$ No=11<br />$ NO=20<br />$ nO=2<br />Se puede definir una variable sin valor (o variable NULL) del modo siguiente: <br />$ vech=<br />$ vech=""<br />
  18. 18. Shell Script (11)<br />Variables (y 6): Un ejemplo: ejemplo3.sh<br />#<br /># ejemplo3.sh – Probando variables<br />#<br />myname=Vivek<br />myos = UbuntuOS<br />myno=5<br />echo "Mi nombre es $myname"<br />echo "Mi S.O es $myos"<br />echo "Mi numero es myno, ¿puedes verlo?<br />
  19. 19. Shell Script (12)<br />Sentencia echo (1)<br />Se utiliza para mostrar texto o valores de variables<br />Sintaxis: echo [options] [string, variables...]<br />Opciones:<br />-n No hace salto de linea al finalizar el echo.<br />-e Habilita que echo interprete los siguientes caracteres de escape:<br />a alert (bell)<br />b backspace<br />c suppresstrailing new line<br />n new line<br />r carriagereturn<br />t horizontal tab<br /> backslash<br />Ejemplo: <br />$echo -e "Anapple a daykeepsaway attdoctorn"<br />
  20. 20. Shell Script (13)<br />Sentencia echo (2)<br />Se puede modificar el comportamiento de echo mediante caracteres de escape.<br />Un uso muy útil de esta posibilidad es la de cambiar el color del texto de salida<br />$ echo -e "033[34m HelloColorfulWorld!"<br />Explicación:<br />1) 033, es el código del carácter de escape, dice a echo que tienen que hacer algo<br />2) Ese algo se marca con el siguiente código “[34m” (color azul)<br />
  21. 21. Shell Script (14)<br />Sentencia expr<br />Se utiliza para evaluar expresiones matemáticas<br />Sintaxis:<br />expr op1 math-operator op2<br />Ejemplos: <br />$ expr 1 + 3<br />$ expr 2 “-” 1<br />$ expr 10 / 2<br />El signo de multiplicación para expr es *<br />
  22. 22. Shell Script (15)<br />Sentencia read<br />Lee la entrada del usuario y la almacena en una variable<br />Sintaxis:<br />read variable1, variable2,...variableN<br />Ejemplo:<br />#<br /># Script para leer el nombre desde el teclado<br />#<br />echo “Introduce tu nombre: "<br />readfname<br />echo "Hola $fname, Bienvenido a Ubuntu!"<br />
  23. 23. Shell Script (16)<br />Paso de Argumentos (1)<br />Son útiles para decir a nuestros guiones que deben de hacer y sobre quien hacerlo (por ejemplo ficheros)<br />Suponiendo que tengo un shell script denominado “myshell” al que pasamos dos parámetros “foo” y “bar” entonces: <br />myshellitis $0<br />fooitis $1<br />bar itis $2<br />
  24. 24. Shell Script (17)<br />Paso de Argumentos (2)<br />Hay algunas variables importantes:<br />$# indica el número de argumentos pasados <br />En el caso anterior valdría 2<br />$0 referencia al nombre del shell script<br />$1..$9 referencia los 9 parámetros posicionales que puede recibir un shell script<br />La limitación de 9 pertenece al shellBourne<br />$* referencia a todos los parámetros que se pasa a un shell script<br />
  25. 25. Shell Script (18)<br />Paso de Argumentos (3)<br />Ejemplo:<br />#!/bin/sh<br />#<br /># Ejemplo de lectura de argumentos<br />#<br />echo "Total de argumentos pasados: $#"<br />echo "$0 es el nombre del script"<br />echo "$1 es el primer argumento"<br />echo "$2 es el segundo argumento"<br />echo “En resumen son: $* o $@"<br />
  26. 26. Shell Script (19)<br />Paso de Argumentos (4)<br />Mediante la sentencia shiftse produce el desplazamiento de los parámetros posicionales de manera que el 2 pasa a la posición 1, el 3 a la 2, etc.<br />Una vez aplicado shift el parámetro $1 se pierde<br />
  27. 27. Shell Script (20)<br />Sentencias de Control (1)<br />Podemos controlar el flujo de ejecución de nuestros programas con las siguientes sentencias:<br />if/else: Ejecuta una serie de comandos dependiendo si una cierta condición se cumple o no.<br />for: Ejecuta una serie de comandos un numero determinado de veces.<br />while: Ejecuta una seria de comandos mientras que una determinada condición sea cumpla.<br />until: Ejecuta una serie de comandos hasta que una determinada condición se cumpla.<br />case: Ejecuta una o varias listas de comandos dependiendo del valor de una variable.<br />
  28. 28. Shell Script (21)<br />Sentencias de Control (2)<br />¿Cómo comparamos en las condiciones?<br />Pueden concatenarse con el AND (&&) y con OR (||)<br />
  29. 29. Shell Script (22)<br />Sentencias de Control (3)<br />Sentencia if..else<br />Ejemplos:<br />
  30. 30. Shell Script (23)<br />Sentencias de Control (4)<br />Sentencia for<br />Ejemplos:<br />
  31. 31. Shell Script (24)<br />Sentencias de Control (5)<br />Sentencia while<br />Ejemplos:<br />
  32. 32. Shell Script (25)<br />Sentencias de Control (6)<br />Sentencia until<br />Ejemplo:<br />
  33. 33. Shell Script (y 26)<br />Sentencias de Control (y 7)<br />Sentencia case<br />Ejemplos:<br />
  34. 34. Gestión DE APLICACIONES: APT, APTITUDE, DPKG<br />
  35. 35. Contenidos<br />Introducción a la gestión de aplicaciones<br />Estructura de sources.list<br />Echando un vistazo a un repositorio<br />Funcionamiento de apt<br />Funcionamiento de aptitude<br />Funcionamiento de dpkg<br />
  36. 36. Gestión de Aplicaciones (1)<br />Introducción (1)<br />La gestión de aplicaciones es un mecanismo mediante el cual podemos mantener nuestro sistema actualizado de manera que conseguimos:<br />Nuevos parches para las aplicaciones <br />Corrección de errores de seguridad<br />Instalación de nuevos programas<br />Ubuntu se basa para buscar el software en la información almacenada en un fichero de sistema:<br />/etc/apt/sources.list<br />Estas fuentes de software reciben el nombre de repositorios<br />
  37. 37. Gestión de Aplicaciones (2)<br />Introducción (y 2)<br />Existen múltiples aplicaciones para manipular la información de los repositorios, nosotros veremos:<br />apt<br />aptitude<br />dpkg<br />
  38. 38. Gestión de Aplicaciones (3)<br />Estructura de sources.list (1)<br />Es un fichero de texto<br />Todo lo que empieza por # es un comentario y se ignora<br />Esta dividido en campos que significan lo siguiente:<br />deb<br />indica que el repositorio tienen paquetes binarios<br />deb-src<br />Indica que el repositorio tienen paquetes de código fuente<br />
  39. 39. Gestión de Aplicaciones (4)<br />Estructura de sources.list (2)<br />url<br />Es la dirección en donde está el repositorio<br />Permite los siguientes métodos de acceso:<br />file<br />Se usa para acceder a repositorios en disco:<br />debfile:/home/smarquezsolis/repos<br />cdrom<br />Se usa si el repositorio está en un CDRom<br />http<br />El repositorio está en un servidor en Internet<br />ftp<br />El repositorio esta en un servidor FTP<br />rsh /ssh<br />Se accede al repositorio por SSH (intercambio de claves RSA)<br />
  40. 40. Gestión de Aplicaciones (5)<br />Estructura de sources.list (y 3)<br />distribution<br />indica la distribución (o rama) utilizada<br />es posible usar el nombre en código (squeeze, wheezy, sid) o el nombre genérico (stable, testing, unstable)<br />component indica las secciones del repositorio, non-free , main , etc.<br />
  41. 41. Gestión de Aplicaciones (6) <br />Echando un vistazo a un repositorio<br />dist<br />archivos de control, que permiten el funcionamiento del sistema de empaquetamiento. <br />Están presentes los archivos que describen los paquetes presentes en el archivo (divididos por la release o rama a la que pertenecen).<br />pool<br />este es el verdadero archivo, donde son contenidos los paquetes, ordenados por la letra inicial.<br />project<br />contiene material para los desarrolladores.<br />
  42. 42. Gestión de Aplicaciones (6)<br />Funcionamiento de apt (1)<br />Instalando Paquetes<br /># apt-getinstall paquete<br />Si este paquete necesitara otro para funcionar apt resolverá las dependencias e instalará los paquetes necesarios<br />Pueden seleccionarse varios paquetes para instalar en una sola línea. <br />Los archivos descargados son almacenados en el directorio/var/cache/apt/archives para su instalación posterior.<br />Agregando un "-" inmediatamente después del nombre del paquete se elimina<br />Si queremos reinstalar un paquete podemos usar el modificador –reinstallantes de install<br />-h Muestra la ayuda<br />-d Solo descarga no instala<br />-f Continua si la integridadfalla<br />-s Realizaunasimulación de la actualizacion<br />-y Asume Si en todaslaspreguntas<br />-u Muestra los paquetesqueactualizaran<br />
  43. 43. Gestión de Aplicaciones (7)<br />Funcionamiento de apt (2)<br />Eliminando paquetes<br />#apt-getremove paquete<br />apt se hace cargo de eliminar los paquetes dependientes del paquete eliminado. <br />Por defecto no se eliminan los ficheros de configuración del paquete, para forzar una eliminación completa hay que usar el modificador –purgeantes de remove<br />Añadiendo un + a un paquete se indica que se debe de instalar<br />Usando autoremove se eliminan los paquetes huerfanos o sin dependencias con otros paquetes<br />
  44. 44. Gestión de Aplicaciones (8)<br />Funcionamiento de apt (3)<br />Actualizando paquetes<br />apt-getupdate<br />apt-getupgrade<br />apt-getdist-upgrade<br />Con el modificador –u sobre upgrade y dist-upgrade nos muestra la lista de paquetes que se actualizaran<br />
  45. 45. Gestión de Aplicaciones (9) <br />Funcionamiento de apt (4)<br />Eliminando paquetes no utilizados<br />apt-getclean<br />elimina todo excepto los archivos "lock" de /var/cache/apt/archives/ y/var/cache/apt/archives/partial/. <br />Si necesita reinstalar un paquete APT, lo descargará de nuevo<br />apt-getautoclean<br />elimina sólo los archivos que no pueden ser descargados de nuevo.<br />
  46. 46. Gestión de Aplicaciones (10)<br />Funcionamiento de apt (y 5)<br />Buscando paquetes<br />#apt-cache searchcadena_busqueda<br />Busca la cadena_busqueda en el repositorio<br />#apt-cache show paquete<br />Muestra el detalle del paquete<br />#apt-cache depends paquete<br />Muestra las dependencias del paquete<br />
  47. 47. Gestión de Aplicaciones (11) <br />Funcionamiento de aptitude (1)<br />Proporciona la funcionalidad de dselect y apt-get, así como de muchos elementos adicionales que no se encuentran en cualquiera de los dos programas. <br />Tiene una interfaz en modo texto, tiene fama de resolver mejor las dependencias que apt y eliminar paquetes inútiles. <br />Permite a un usuario:<br />Visualizar las distintas listas de paquetes<br />Realizar tareas de gestión de paquetes, tales como instalar, actualizar y eliminar paquetes.<br />Realizar búsquedas de paquetes<br />Resolver problemas de dependencias<br />
  48. 48. Gestión de Aplicaciones (12)<br />Funcionamiento de aptitude (2)<br />Ejecutamos aptitude con: #aptitude<br />
  49. 49. Gestión de Aplicaciones (13)<br />Funcionamiento de aptitude (2)<br />La pantalla de aptitude se puede dividir en tres partes:<br />La línea azul en la parte superior es la barra de menús.<br />A continuación tenemos un espacio negro, donde encontraremos una lista de todos los paquetes disponibles, ordenados por grupos de paquetes.<br />Abajo tenemos una barra azul, debajo de la cual veremos mensajes informativos, es el área de información.<br />
  50. 50. Gestión de Aplicaciones (14)<br />Funcionamiento de aptitude (3)<br />Moverse por el entorno:<br />Abrir el menú: Control + t<br />Moverse por las distintas opciones de un menú: con las teclas arriba y abajo<br />Moverse por los distintos menús: con las teclas izquierda y derecha<br />Seleccionar elementos de menú: con la tecla Enter<br />Cerrar el menú: presionar nuevamente Control + t<br />
  51. 51. Gestión de Aplicaciones (15)<br />Funcionamiento de aptitude (4)<br />Banderas de los paquetes de Estado<br />i El paquete esta instalado, y todas sus dependencias están satisfechas.<br />c El paquete ha sido eliminado, pero sus archivos de configuración todavía están presentes.<br />p El paquete y todos sus archivos de configuración se eliminaron, o nunca fue instalado.<br />v El paquete es virtual.<br />B El paquete tiene dependencias rotas.<br />u El paquete ha sido desempaquetado, pero no configurado.<br />C El paquete está medio configurado, se interrumpió la configuración del paquete.<br />H El paquete está medio instalado, se interrumpió la instalación del paquete.<br />
  52. 52. Gestión de Aplicaciones (16)<br />Funcionamiento de aptitude (y 5)<br />Banderas de los paquetes de Acción<br />i El paquete marcado para instalarse.<br />u El paquete será actualizado.<br />d El paquete será eliminado, será eliminado, pero sus archivos de configuración se mantendrán en el sistema.<br />p El paquete será purgado, se eliminarán tanto el paquete marcado como sus archivos de configuración.<br />h El paquete será bloqueado/retenido: se va a mantener en su versión actual, incluso si una nueva versión está disponible, hasta que se desbloquee.<br />F Se prohibe la actualización del paquete.<br />r El paquete será reinstalado.<br />B El paquete está "roto", algunas de sus dependencias no están satisfechas.<br />
  53. 53. Gestión de Aplicaciones (17)<br />Funcionamiento dpkg (1)<br />Es la herramienta original del sistema de gestión de paquetes de Debian<br />Fue creado por Ian Jackson en 1993. <br />Se utiliza para instalar, quitar, y proporcionar información sobre los paquetes .deb. <br />dpkg es una abreviatura de Debianpackage. <br />
  54. 54. Gestión de Aplicaciones (18)<br />Funcionamiento dpkg (2)<br />Obtener una lista completa de los paquetes instalados en el sistema (incluye versión y descripción) : <br />$dpkg -l <br />Obtener versión e información de un solo paquete instalado en el sistema: <br />$dpkg -s paquete <br />$dpkg –l paquete (información breve)<br />
  55. 55. Gestión de Aplicaciones (19)<br />Funcionamiento de dpkg (3)<br />Consultar solo las dependencias de un paquete instalado en el sistema: <br />$dpkg -s paquete | grep ^Depends: <br />Consultar un paquete .deb sin instalar:<br />$dpkg -l paquete-no-instalado.deb <br />Consultar la información completa de un paquete (versión, descripción, arquitectura, grupo, autor que mantiene el paquete y dependencias)<br />$dpkg -p paquete <br />
  56. 56. Gestión de Aplicaciones (20)<br />Funcionamiento de dpkg (4)<br />Para instalar un paquete .deb: <br />$dpkg -i paquete-no-instalado.deb <br />Para instalar o actualizar un paquete .deb, : <br />$dpkg -Gi paquete-no-instalado.deb <br />Para desempaquetar el contenido sin instalar: <br />$dpkg -x paquete-no-instalado.deb <br />Si se tiene un directorio lleno de paquetes .deb y se desea instalar todos estos:<br />$dpkg -R ~/Downloads/ <br />
  57. 57. Gestión de Aplicaciones (y 21)<br />Funcionamiento de dpkg (y 5)<br />Para desinstalar un paquete, pero dejando presentes ficheros de configuración:<br />$dpkg -r paquete <br />Si se quiere desinstalar un paquete, incluyendo los ficheros de configuración, se puede utilizar: <br />$dpkg -P paquete <br />
  58. 58. PROCESOS. PROGRAMACION DE TAREAS CON CRON<br />
  59. 59. Contenidos<br />Introducción<br />La orden ps<br />La orden kill<br />Ejecución en segundo plano y diferida<br />Prioridades de procesos<br />Programación de tareas con cron<br />
  60. 60. Procesos y Tareas (1)<br />Un proceso es cualquier programa que se encuentre en ejecución<br />El término se creó por primera vez con el sistema operativo MULTICS<br />A nivel de sistema un proceso se crea mediante una llamada de sistema conocida como fork()<br />El proceso que hace la llamada al fork() se denomina proceso padre y el proceso creado se llama proceso hijo.<br /><ul><li>Todos los procesos llevan asociados un identificador único secuencial </li></ul>Podemos ver al administrador de procesos y como estos evolucionan llamando a la orden top<br />Existen procesos denominados zombie (defunct) que son aquellos cuyo padre no esta reconociendo la señal de terminación de su proceso hijo<br />
  61. 61. Procesos y Tareas (2)<br />La orden ps<br />Lista todos los procesos activos en ejecución en la máquina<br />Sin opciones muestra los procesos asociados al terminal donde se ejecuta<br />Sintaxis:<br />ps [opciones]<br />-f listado completo de los procesos<br />-l todas las columnas de información<br />-e  todos los procesos de todos los usuarios<br />-u usuario  procesos del usuario indicado<br />La columna Z del formato largo (-l)<br /> 0 Proceso en ejecución<br /> 1 Proceso en memoria principal<br /> 8 Proceso bloqueado <br />La columna S del formato largo (-l)<br /> S Proceso dormido<br /> R Proceso ejecutable en cola<br /> I Proceso inactivo en creación<br /> Z Proceso Zombie<br /> T Proceso detenido<br /> X Proceso a la espera de memoria<br />
  62. 62. Procesos y Tareas (3)<br />La orden kill<br />Se utiliza cuando queremos abortar la ejecución de un proceso por cualquier motivo<br />No responde la E/S<br />Está consumiendo muchos recursos<br />…<br />Sintaxis: <br />killnum_proceso (envía la señal 15 o de terminación por software)<br />kill señal num_proceso<br />
  63. 63. Procesos y Tareas (4)<br />Ejecución en segundo plano<br />Lo conseguimos añadiendo & al final de la orden<br />(while true do sleep 6000 date done) &<br />Ejecución diferida<br />Significa que un proceso siga en ejecución aunque nosotros abandonemos el sistema<br />Se consigue con nohup<br />Sintaxis: <br />nohup orden<br />
  64. 64. Procesos y Tareas (5)<br />Prioridades de Procesos<br />Podemos bajar la prioridad mediante el comando nice (por defecto vale -10 unidades) o subirla con el comando renice<br />La prioridad máxima está en 19 y la mínima en -20<br />Sintaxis de nice: <br />nice valor comando<br />Sintaxis de renice:<br />sudo renice prioridad proceso<br />
  65. 65. Procesos y Tareas (6)<br />Programación de tareas con cron (1)<br />cron es un demonio que permite ejecutar otros programas o scripts en un lapso de tiempo y una periodicidad especificada por el usuario. <br />Su comportamiento esta regulado por su archivo de configuración, que se llama crontab. <br />Cada usuario del sistema posee un archivo crontab personalizado <br />Sólo el usuario root puede modificar el archivo crontab de otro usuario<br />
  66. 66. Procesos y Tareas (7)<br />Programación de tareas con cron (2)<br />Un usuario sólo puede hacer uso de crontab si su nombre aparece en: <br />/etc/cron.allow<br />Si este archivo no existe, el usuario puede usar crontab a menos que su nombre aparezca en: <br />/etc/cron.deny. <br />
  67. 67. Procesos y Tareas (8)<br />Programación de tareas con cron (3)<br />Estructura de crontab<br />Para editar el archivo crontab sólo es necesario abrir una consola de comandos y ejecutar el comando: <br />crontab -e <br />La opción -l lista todos los trabajos programados<br />La opción –r elimina todos los trabajos programados<br />El paquete gnome-schedule nos añade una herramienta que nos permite gestionar el fichero crontab gráficamente<br />
  68. 68. Procesos y Tareas (y 9)<br />Programación de tareas con cron (y 4)<br />Ejemplos:<br />Ping al equipo 192.168.0.1 cada minuto, de cada hora, de cada día, de cada mes. <br />* * * * * /sbin/ping -c 1 192.168.0.1 >> fichero <br />Ping sólo se ejecute los días laborables de la semana (de Lunes a Viernes) a las 8:00 PM en punto y sólo durante el mes de octubre. <br />0 20 * 10 1-5 /sbin/ping -c 1 192.168.0.1 >> fichero <br />Script de respaldo de lunes a domingo a medianoche (0:00 AM) los días 1, 15 y 28 de cada mes (para asegurarnos que en febrero también se haga) <br />0 0 1,15,28 * * /home/mmonrdz/scripts/respaldar.py <br />
  69. 69. ARRANQUE Y PARADA DE SERVICIOS<br />
  70. 70. Arranque/Parada Servicios (1)<br />Ubuntu ofrece multitud de servicios<br />Estos se pueden iniciar o arrancar junto con la carga del sistema <br />o pueden después ser puestos a funcionar cuando se requieran<br />
  71. 71. Arranque/Parada Servicios (2)<br />Iniciando servicios manualmente<br />Dentro de /etc se encuentran una serie de scripts que permiten inicar/detener la gran mayoría de los servicios instalados en el equipo. <br />Estos scripts están programados que reconocen los siguientes argumentos:<br />start<br />stop <br />restart<br />status <br />El comando service<br /> Este comando permite también iniciar y/o detener servicios, <br /> #> servicemysql status <br />CheckingforserviceMySQL: stopped<br /> Si se desea iniciarlo:<br /> #> servicemysqlstart<br />StartingserviceMySQL [OK]<br />
  72. 72. Arranque/Parada Servicios (y 3)<br />Una herramienta de linea de comandos muy util para la gestion de servicios es:<br />chkconfig<br />Para instalarla basta apt-getinstallchkconfig<br />Modificadores útiles:<br />-l Lista todos los servicios. <br />-a agrega un servicio al inicio. <br />-d elimina un servicio al inicio. <br />-e edita el servicio deseado.<br />Otra herramienta muy extendida para la gestión de servicios desde el escritorio es el programa: BUM o Boot-Up Manager <br />Para instalarlo bastaapt-getinstall bum<br />
  73. 73. COMANDOS DE RED<br />
  74. 74. Contenidos<br />Comando ping<br />Comando traceroute<br />Comando netstat<br />Comando ifconfig<br />Comando dig<br />Comando whois<br />Comando nslookup<br />Comando tcpdump<br />
  75. 75. Comandos de Red (1)<br />Comando ping<br />permite verificar si una máquina remota responde, nos dice si un ordenador está actualmente conectado a Internet y la calidad y velocidad de su conexión.<br />Sintaxis:<br />ping ip / nombre maquina<br />ping –c numero ip / nombre maquina<br />ping –c numero –w segundos ip / nombre maquina<br />ping –q ip / nombre maquina (salida silenciosa)<br />
  76. 76. Comandos de Red (2)<br />Comando traceroute<br />determinar la ruta tomada por un paquete para alcanzar su destino, ya sea en Internet o en la red local. <br />Podemos utilizar la dirección IP o el nombre del host<br />No se recomienda su uso durante periodos de alta utilizacion de la red<br />Sintaxis: <br />tracerouteip / nombre maquina <br />
  77. 77. Comandos de Red (3)<br />Comando netstat<br />Informa sobre la configuración y actividad de la red.<br />Sintaxis:<br />netstat –i : muestra la configuracion de la interface de red activa<br />netstat –ie: muestra información extendida<br />netstat –r: muestra la tabla de rutas con nombre<br />netstat –rn: muestra la tabla de rutas por ip<br />netstat –t: conexiones activas puertos TCP<br />netstat –u: conexiones activas puertos UDP<br />netstat –l: puertos que esperan conexiones<br />
  78. 78. Comandos de Red (4)<br />Comando ifconfig<br />es utilizado para arrancar la interface de la tarjeta de red, pararla y realizar todas las configuraciones sobre dicha tarjeta<br />Sintaxis:<br />ifconfig : muestra informacion de las interfaces de red<br />ifconfignombreinterfazdown: para la interface<br />ifconfignombreinterfaz up: levanta la interface<br />
  79. 79. Comandos de Red (5)<br />Comando dig<br />permite realizar consultas a los servidores DNS<br />Se basa en un formato de pregunta / respuesta<br />Sintaxis:<br />dig telefonica.net ns : indica donde están los servidores DNS de un dominio<br />dig -x 127.0.0.1: hace un mapeo inverso para encontrar el nombre de la ip<br />
  80. 80. Comandos de Red (6)<br />Comando whois<br />se refiere a un servicio para consultar la información sobre un dominio de Internet<br />quién es el dueño del dominio, <br />cuándo expira el dominio, <br />quién es el registrador del dominio<br />Sintaxis:<br />whois nombredominio<br />Ejemplo:<br />whois www.google.es<br />
  81. 81. Comandos de Red (7)<br />Comando nslookup (name server lookup)<br />permite consultar un servidor de nombres (DNS) y obtener información relacionada con el dominio o el host<br />permite diagnosticar eventuales problemas de configuración que pudieran haber surgido en el DNS. <br />La información del servidor de nombres a usar esta en el fichero: /etc/resolv.conf<br />Sintaxis:<br />nslookup nombre dominio<br />Ejemplo:<br />nslookup wikipedia.org<br />
  82. 82. Comandos de Red (y 8)<br />Comando tcpdump<br />Permite al usuario capturar y mostrar a tiempo real los paquetes transmitidos y recibidos en la red a la cual el ordenador está conectado. <br />Sintaxis<br />tcpdump modificadores<br />Ejemplos:<br />Capturar tráfico con origen o destino el puerto 110tcpdumpport 110<br />Capturar tráfico cuya dirección IP de origen sea 192.168.3.1tcpdumpsrc host 192.168.3.1<br />Capturar tráfico cuya dirección origen o destino sea 192.168.3.2tcpdump host 192.168.3.2<br />Capturar el tráfico Webtcpdumptcp and port 80<br />
  83. 83. Ficheros de configuración<br />
  84. 84. Ficheros de Configuración (1)<br />Directorio /etc<br />at.allow<br />Si existe, contiene la lista de usuarios que pueden ejecutar el comando at . <br />at.deny<br />Si existe, contiene la lista de usuarios que NO pueden ejecutar el comando at . <br />bash.bashrc : <br />Funciones globales y configuración que son comúnmente utilizadas por el Shell "bash" <br />crontab: <br />Contiene información sobre los eventos que se realizaran en el sistema cada cierto tiempo (hora,día,semana,mes).<br />
  85. 85. Ficheros de Configuración (2)<br /><ul><li>Directorio cron.hourly :
  86. 86. Se encuentra los "scripts" que serán ejecutados cada hora por el sistema.
  87. 87. Directorio cron.daily :
  88. 88. Se encuentra los "scripts" que serán ejecutados cada día por el sistema.
  89. 89. Directorio cron.weekly :
  90. 90. Se encuentra los "scripts" que serán ejecutados cada semana por el sistema.
  91. 91. Directorio cron.mothly :
  92. 92. Se encuentra los "scripts" que serán ejecutados cada mes por el sistema.
  93. 93. cron.deny :
  94. 94. Si existe, lista de usuarios que NO pueden utilizar el comando cron
  95. 95. cron.allow :
  96. 96. Si existe, lista de usuarios que pueden utilizar el comando cron </li></li></ul><li>Ficheros de Configuración (3)<br /><ul><li>fstab:
  97. 97. Mantiene las particiones y las especificaciones con las que deben de ser montadas (auto,ro,"filesystem",etc) al iniciarse el servidor.
  98. 98. hosts:
  99. 99. Resolución local de "Hostnames" a direcciones IP, generalmente este archivo se usa para realizar la resolución de instalaciones muy pequeñas.
  100. 100. host.conf :
  101. 101. Específica el orden de donde serán resueltos los nombres de los "Hostnames"
  102. 102. hosts.deny :
  103. 103. Si existe especifica que "Host's" no pueden acceder a los servicios de este sistema.
  104. 104. hosts.allow:
  105. 105. Si existe especifica que "Host's" pueden acceder a los servicios de este sistema. </li></li></ul><li>Ficheros de Configuración (4)<br /><ul><li>Directorio inet.d:
  106. 106. En este directorio se encuentran una serie de scripts que permiten inicar/detener la gran mayoría de los servicios/servidores que estén instalados en el equipo
  107. 107. profile;
  108. 108. Programas de Arranque y ambiente global del Sistema ("SystemWideEnviroment")
  109. 109. resolv.conf :
  110. 110. Contiene la dirección(es) IP donde se encuentra(n) el(los) servidor(es) DNS que resolverán todos los nombres (osmosis.com,un.org) que se le presenten a este "Host".
  111. 111. services :
  112. 112. Despliega que puertos están disponibles para los diferentes daemonsshells : Contiene todos los "shells" que puede accesar el sistema </li></li></ul><li>Ficheros de Configuración (5)<br />shells : <br />Contiene todos los "shells" que puede accesar el sistema <br />sudoers : <br />Archivo que permite a usuarios comunes ejecutar "ciertos" comandos en los que se requiere accesso de "superusuario" UID=0,GID=0. <br />Directorio /etc/logrotate.d<br />Este directorio contiene archivos de configuración que permiten a los archivos de registro ("logs") rotarse,ya que en sistemas muy activos puede darse el caso que los "logs" se sobrescriban uno sobre el otro, perdiendo todo rastro de la actividad del sistema. <br />/etc/default/useradd: <br />Contiene los valores default para cuando sea agregado un usuario. <br />
  113. 113. Ficheros de Configuración (y 6)<br />Directorio /var/log <br />Este directorio contiene todos los archivos de registro "logs"<br />Directorio /var/lock<br />Contiene los "lock files" del sistema<br />

×