Administración básica de Ubuntu server(PARTE 3)Santiago Márquez Solís
La Parte 1 y 2 están en…http://www.slideshare.net/SantiagoSolis1/administracin-bsica-de-ubuntu-server-parte-1http://www.slideshare.net/SantiagoSolis1/administracin-bsica-de-ubuntu-server-parte-2
ContenidosLenguaje Shell ScriptGestión de aplicaciones: apt, aptitude y dpkgProcesos. Programación de tareas con cronComandos de redArranque y parada de servicios del servidorFicheros de configuración
Lenguaje shell script
ContenidosIntroducciónLa sentencia exitVariables del shellDefinición de variables de usuarioSentencia echoSentencia exprSentencia readPaso de argumentosSentencias de Control
Shell Script (1)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.La creación de un Shell Script o Guión sigue los pasos siguientes:Se crea el fichero con los comandos usando un editor de textos (por ejemplo vi)Se dan permisos de ejecución sobre el fichero con el comando chmod +xSobre las comillas: Hay tres tipos:  “ (dobles) : pierde el significado lo que haya dentro (excepto la \  y el  $).
 ‘ (sencilla)  'Single quotes' – lo muestra entre las comillas
 ` (hacia tras) `Back quote` - ejecuta comandosEjemplos:$ echo "Todayis date"$ echo "Todayis ‘date’"$ echo "Todayis `date`"Generalmente se suele asignar a los ficheros que contienen un Shell Script la extensión .sh pero no es obligado.http://www.faqs.org/faqs/unix-faq/shell/shell-differences/
Shell Script (2)La ejecución de un Shell Script suele seguir una sintaxis similar a la siguiente:bashyour-script-nameshyour-script-name./your-script-name./ significa que el directorio actualUsar solo el punto (.) significa ejecutar el comando en la actual instancia de shell. comando
Shell Script (3)Un primer ejemplo: ejemplo1.sh## ejemplo1.sh#ClearEcho “Hola Mundo Ubuntu!!!”
Shell Script (4)Otro ejemplo más: ejemplo2.sh## Saluda al usuario, muestra la fecha, número de # terminales donde el usuario está logado y el # calendario del mes actual#clearecho "Hello $USER"echo "Todayis \c ";dateecho "Number of userlogin : \c" ; who | wc -lecho "Calendar"calexit 0
Shell Script (5)La Sentencia exitTodos los comandos Linux finalizan devolviendo dos tipos posibles de valores:0 que significa que el comando se ejecutó correctamenteOtro valor que significa que se produjo algún tipo de errorAl valor de salida de un comando (o shell) se le denomina Exit Status.Para determinar el valor de salida de una instrucción existe una variable de Shell que nos da esa información:echo $? Nos indica el Exit Status del último comando ejecutadoPodemos consultarla haciendo echo $?
Shell Script (6)Variables (1)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 desarrollanEn Linux tenemos dos tipos de variables:De sistema:Creadas y mantenidas por el propio LinuxEstán escritas siempre en mayúsculasDefinidas por el usuario:Creadas y mantenidas por los usuariosEstán escritas siempre en minúsculasPara ver las variables del sistema usamos el comando set que nos devuelve todas las que existen.Para ver una variable particular: echo $variable
Shell Script (7)Variables (2) Algunas de las variables más importantes de sistema son:
Shell Script (8)Variables (3):Si queremos definir nuestras propias variables tenemos que hacer lo siguiente:Nombre de variable = Valor  Asigna Valor al Nombre de variableEjemplo:$ no=10$ vech=Bus$ a=$USERY visualizar su contenido es igual que con las de sistema:echo $a  nos devolvería el usuario de la sesión
Shell Script (9)Variables (4)Reglas para trabajar con variables (1)Deben comenzar con un carácter alfanumérico o con el símbolo (_), seguida de uno o más caracteres alfanuméricos No pueden usarse secuencias de caracteres reservados (no usar?,* etc.)No se pueden poner espacios antes o después del signo igual cuando estamos haciendo la asignación del valor$ no=10 	 Correcto$ no =10	 Incorrecto$ no= 10	 Incorrecto$ no = 10	 Incorrecto
Shell Script (10)Variables (5)Reglas para trabajar con variables (2)Se distingue mayúsculas de minúsculas por lo que las siguientes variables son todas diferentes:$ no=10$ No=11$ NO=20$ nO=2Se puede definir una variable sin valor (o variable NULL) del modo siguiente: $ vech=$ vech=""
Shell Script (11)Variables (y 6): Un ejemplo:  ejemplo3.sh## ejemplo3.sh – Probando variables#myname=Vivekmyos = UbuntuOSmyno=5echo "Mi nombre es $myname"echo "Mi S.O es $myos"echo "Mi numero es myno, ¿puedes verlo?
Shell Script (12)Sentencia echo (1)Se utiliza para mostrar texto o valores de variablesSintaxis: echo [options] [string, variables...]Opciones:-n No hace salto de linea al finalizar el echo.-e Habilita que echo interprete los siguientes caracteres de escape:\a alert (bell)\b backspace\c suppresstrailing new line\n new line\r carriagereturn\t horizontal tab\\ backslashEjemplo: $echo -e "Anapple a daykeepsaway \a\t\tdoctor\n"
Shell Script (13)Sentencia echo (2)Se puede modificar el comportamiento de echo mediante caracteres de escape.Un uso muy útil de esta posibilidad es la de cambiar el color del texto de salida$ echo -e "\033[34m   HelloColorfulWorld!"Explicación:1) \033, es el código del carácter de escape, dice a echo que tienen que hacer algo2) Ese algo se marca con el siguiente código “[34m” (color azul)
Shell Script (14)Sentencia exprSe utiliza para evaluar expresiones matemáticasSintaxis:expr op1 math-operator op2Ejemplos: $ expr 1 + 3$ expr 2 “-” 1$ expr 10 / 2El signo de multiplicación para expr es \*
Shell Script (15)Sentencia readLee la entrada del usuario y la almacena en una variableSintaxis:read variable1, variable2,...variableNEjemplo:## Script para leer el nombre desde el teclado#echo “Introduce tu nombre: "readfnameecho "Hola $fname, Bienvenido a Ubuntu!"
Shell Script (16)Paso de Argumentos (1)Son útiles para decir a nuestros guiones que deben de hacer y sobre quien hacerlo (por ejemplo ficheros)Suponiendo que tengo un shell script denominado “myshell” al que pasamos dos parámetros “foo” y “bar” entonces: myshellitis $0fooitis $1bar itis $2
Shell Script (17)Paso de Argumentos (2)Hay algunas variables importantes:$# indica el número de argumentos pasados En el caso anterior valdría 2$0 referencia al nombre del shell script$1..$9 referencia los 9 parámetros posicionales que puede recibir un shell scriptLa limitación de 9 pertenece al shellBourne$* referencia a todos los parámetros que se pasa a un shell script
Shell Script (18)Paso de Argumentos (3)Ejemplo:#!/bin/sh## Ejemplo de lectura de argumentos#echo "Total de argumentos pasados:  $#"echo "$0 es el nombre del script"echo "$1 es el primer argumento"echo "$2 es el segundo argumento"echo “En resumen son:  $* o $@"
Shell Script (19)Paso de Argumentos (4)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.Una vez aplicado shift el parámetro $1 se pierde
Shell Script (20)Sentencias de Control (1)Podemos controlar el flujo de ejecución de nuestros programas con las siguientes sentencias:if/else: Ejecuta una serie de comandos dependiendo si una cierta condición se cumple o no.for: Ejecuta una serie de comandos un numero determinado de veces.while: Ejecuta una seria de comandos mientras que una determinada condición sea cumpla.until: Ejecuta una serie de comandos hasta que una determinada condición se cumpla.case: Ejecuta una o varias listas de comandos dependiendo del valor de una variable.
Shell Script (21)Sentencias de Control (2)¿Cómo comparamos en las condiciones?Pueden concatenarse con el AND (&&) y con OR (||)
Shell Script (22)Sentencias de Control (3)Sentencia if..elseEjemplos:
Shell Script (23)Sentencias de Control (4)Sentencia forEjemplos:
Shell Script (24)Sentencias de Control (5)Sentencia whileEjemplos:
Shell Script (25)Sentencias de Control (6)Sentencia untilEjemplo:
Shell Script (y 26)Sentencias de Control (y 7)Sentencia caseEjemplos:
Gestión DE APLICACIONES: APT, APTITUDE, DPKG
ContenidosIntroducción a la gestión de aplicacionesEstructura de sources.listEchando un vistazo a un repositorioFuncionamiento de aptFuncionamiento de aptitudeFuncionamiento de dpkg
Gestión de Aplicaciones (1)Introducción (1)La gestión de aplicaciones es un mecanismo mediante el cual podemos mantener nuestro sistema actualizado de manera que conseguimos:Nuevos parches para las aplicaciones	Corrección de errores de seguridadInstalación de nuevos programasUbuntu se basa para buscar el software en la información almacenada en un fichero de sistema:/etc/apt/sources.listEstas fuentes de software reciben el nombre de repositorios
Gestión de Aplicaciones (2)Introducción (y 2)Existen múltiples aplicaciones para manipular la información de los repositorios, nosotros veremos:aptaptitudedpkg
Gestión de Aplicaciones (3)Estructura de sources.list (1)Es un fichero de textoTodo lo que empieza por # es un comentario y se ignoraEsta dividido en campos que significan lo siguiente:debindica que el repositorio tienen paquetes binariosdeb-srcIndica que el repositorio tienen paquetes de código fuente
Gestión de Aplicaciones (4)Estructura de sources.list (2)urlEs la dirección en donde está el repositorioPermite los siguientes métodos de acceso:fileSe usa para acceder a repositorios en disco:debfile:/home/smarquezsolis/reposcdromSe usa si el repositorio está en un CDRomhttpEl repositorio está en un servidor en InternetftpEl repositorio esta en un servidor FTPrsh /sshSe accede al repositorio por SSH (intercambio de claves RSA)
Gestión de Aplicaciones (5)Estructura de sources.list (y 3)distributionindica la distribución (o rama) utilizadaes posible usar el nombre en código (squeeze, wheezy, sid) o el nombre genérico (stable, testing, unstable)component indica las secciones del repositorio, non-free , main , etc.
Gestión de Aplicaciones (6) Echando un vistazo a un repositoriodistarchivos de control, que permiten el funcionamiento del sistema de empaquetamiento. Están presentes los archivos que describen los paquetes presentes en el archivo (divididos por la release o rama a la que pertenecen).pooleste es el verdadero archivo, donde son contenidos los paquetes, ordenados por la letra inicial.projectcontiene material para los desarrolladores.
Gestión de Aplicaciones (6)Funcionamiento de apt (1)Instalando Paquetes# apt-getinstall paqueteSi este paquete necesitara otro para funcionar apt resolverá las dependencias e instalará los paquetes necesariosPueden seleccionarse varios paquetes para instalar en una sola línea. Los archivos descargados son almacenados en el directorio/var/cache/apt/archives para su instalación posterior.Agregando un "-" inmediatamente después del nombre del paquete se eliminaSi queremos reinstalar un paquete podemos usar el modificador –reinstallantes de install-h  Muestra la ayuda-d  Solo descarga no instala-f   Continua si la integridadfalla-s  Realizaunasimulación de la actualizacion-y  Asume Si en todaslaspreguntas-u  Muestra los paquetesqueactualizaran
Gestión de Aplicaciones (7)Funcionamiento de apt (2)Eliminando paquetes#apt-getremove paqueteapt  se hace cargo de eliminar los paquetes dependientes del paquete eliminado. 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 removeAñadiendo un + a un paquete se indica que se debe de instalarUsando autoremove se eliminan los paquetes huerfanos o sin dependencias con otros paquetes
Gestión de Aplicaciones (8)Funcionamiento de apt (3)Actualizando paquetesapt-getupdateapt-getupgradeapt-getdist-upgradeCon el modificador –u sobre upgrade y dist-upgrade nos muestra la lista de paquetes que se actualizaran
Gestión de Aplicaciones (9) Funcionamiento de apt (4)Eliminando paquetes no utilizadosapt-getcleanelimina todo excepto los archivos "lock" de /var/cache/apt/archives/ y/var/cache/apt/archives/partial/. Si necesita reinstalar un paquete APT, lo descargará de nuevoapt-getautocleanelimina sólo los archivos que no pueden ser descargados de nuevo.
Gestión de Aplicaciones (10)Funcionamiento de apt (y 5)Buscando paquetes#apt-cache searchcadena_busquedaBusca la cadena_busqueda en el repositorio#apt-cache show paqueteMuestra el detalle del paquete#apt-cache depends paqueteMuestra las dependencias del paquete
Gestión de Aplicaciones (11) Funcionamiento de aptitude (1)Proporciona la funcionalidad de dselect y apt-get, así como de muchos elementos adicionales que no se encuentran en cualquiera de los dos programas. Tiene una interfaz en modo texto, tiene fama de resolver mejor las dependencias que apt y eliminar paquetes inútiles. Permite a un usuario:Visualizar las distintas listas de paquetesRealizar tareas de gestión de paquetes, tales como instalar, actualizar y eliminar paquetes.Realizar búsquedas de paquetesResolver problemas de dependencias
Gestión de Aplicaciones (12)Funcionamiento de aptitude (2)Ejecutamos aptitude con: #aptitude
Gestión de Aplicaciones (13)Funcionamiento de aptitude (2)La pantalla de aptitude se puede dividir en tres partes:La línea azul en la parte superior es la barra de menús.A continuación tenemos un espacio negro, donde encontraremos una lista de todos los paquetes disponibles, ordenados por grupos de paquetes.Abajo tenemos una barra azul, debajo de la cual veremos mensajes informativos, es el área de información.
Gestión de Aplicaciones (14)Funcionamiento de aptitude (3)Moverse por el entorno:Abrir el menú: Control + tMoverse por las distintas opciones de un menú: con las teclas arriba y abajoMoverse por los distintos menús: con las teclas izquierda y derechaSeleccionar elementos de menú: con la tecla EnterCerrar el menú: presionar nuevamente Control + t
Gestión de Aplicaciones (15)Funcionamiento de aptitude (4)Banderas de los paquetes de Estadoi El paquete esta instalado, y todas sus dependencias están satisfechas.c El paquete ha sido eliminado, pero sus archivos de configuración todavía están presentes.p El paquete y todos sus archivos de configuración se eliminaron, o nunca fue instalado.v El paquete es virtual.B El paquete tiene dependencias rotas.u El paquete ha sido desempaquetado, pero no configurado.C El paquete está medio configurado, se interrumpió la configuración del paquete.H El paquete está medio instalado, se interrumpió la instalación del paquete.
Gestión de Aplicaciones (16)Funcionamiento de aptitude (y 5)Banderas de los paquetes de Accióni El paquete marcado para instalarse.u El paquete será actualizado.d El paquete será eliminado, será eliminado, pero sus archivos de configuración se mantendrán en el sistema.p El paquete será purgado, se eliminarán tanto el paquete marcado como sus archivos de configuración.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.F Se prohibe la actualización del paquete.r El paquete será reinstalado.B El paquete está "roto", algunas de sus dependencias no están satisfechas.
Gestión de Aplicaciones (17)Funcionamiento dpkg (1)Es la herramienta original del sistema de gestión de paquetes de DebianFue creado por Ian Jackson en 1993. Se utiliza para instalar, quitar, y proporcionar información sobre los paquetes .deb. dpkg es una abreviatura de Debianpackage.
Gestión de Aplicaciones (18)Funcionamiento dpkg (2)Obtener una lista completa de los paquetes instalados en el sistema (incluye versión y descripción) : $dpkg -l Obtener versión e información de un solo paquete instalado en el sistema: $dpkg -s paquete $dpkg –l paquete (información breve)
Gestión de Aplicaciones (19)Funcionamiento de dpkg (3)Consultar solo las dependencias de un paquete instalado en el sistema: $dpkg -s paquete | grep ^Depends: Consultar un paquete .deb sin instalar:$dpkg -l paquete-no-instalado.deb Consultar la información completa de un paquete (versión, descripción, arquitectura, grupo, autor que mantiene el paquete y dependencias)$dpkg -p paquete
Gestión de Aplicaciones (20)Funcionamiento de dpkg (4)Para instalar un paquete .deb: $dpkg -i paquete-no-instalado.deb Para  instalar o actualizar un paquete .deb, : $dpkg -Gi paquete-no-instalado.deb Para desempaquetar el contenido sin instalar: $dpkg -x paquete-no-instalado.deb Si se tiene un directorio lleno de paquetes .deb y se desea instalar todos estos:$dpkg -R ~/Downloads/
Gestión de Aplicaciones (y 21)Funcionamiento de dpkg (y 5)Para desinstalar un paquete, pero dejando presentes ficheros de configuración:$dpkg -r paquete Si se quiere desinstalar un paquete, incluyendo los ficheros de configuración, se puede utilizar: $dpkg -P paquete
PROCESOS. PROGRAMACION DE TAREAS CON CRON
ContenidosIntroducciónLa orden psLa orden killEjecución en segundo plano y diferidaPrioridades de procesosProgramación de tareas con cron
Procesos y Tareas (1)Un proceso es cualquier programa que se encuentre en ejecuciónEl término se creó por primera vez con el sistema operativo MULTICSA nivel de sistema un proceso se crea mediante una llamada de sistema conocida como fork()El proceso que hace la llamada al fork() se denomina proceso padre y el proceso creado se llama proceso hijo.Todos los procesos llevan asociados un identificador único secuencial Podemos ver al administrador de procesos y como estos evolucionan llamando a la orden topExisten procesos denominados zombie (defunct) que son aquellos cuyo padre no esta reconociendo la señal de terminación de su proceso hijo
Procesos y Tareas (2)La orden psLista todos los procesos activos en ejecución en la máquinaSin opciones muestra los procesos asociados al terminal donde se ejecutaSintaxis:ps [opciones]-f 		listado completo de los procesos-l		todas las columnas de información-e		 todos los procesos de todos los usuarios-u usuario 	 procesos del usuario indicadoLa columna Z del formato largo (-l)	0 Proceso en ejecución	1 Proceso en memoria principal	8 Proceso bloqueado  La columna S del formato largo (-l)	S Proceso dormido	R Proceso ejecutable en cola	I Proceso inactivo en creación	Z Proceso Zombie	T Proceso detenido	X Proceso a la espera de memoria
Procesos y Tareas (3)La orden killSe utiliza cuando queremos abortar la ejecución de un proceso por cualquier motivoNo responde la E/SEstá consumiendo muchos recursos…Sintaxis: killnum_proceso (envía la señal 15 o de terminación por software)kill señal num_proceso
Procesos y Tareas (4)Ejecución en segundo planoLo conseguimos añadiendo & al final de la orden(while true do sleep 6000 date done) &Ejecución diferidaSignifica que un proceso siga en ejecución aunque nosotros abandonemos el sistemaSe consigue con nohupSintaxis: nohup orden
Procesos y Tareas (5)Prioridades de ProcesosPodemos bajar la prioridad mediante el comando nice (por defecto vale -10 unidades) o subirla con el comando reniceLa prioridad máxima está en 19 y la mínima en -20Sintaxis de nice: nice valor comandoSintaxis de renice:sudo renice prioridad proceso
Procesos y Tareas (6)Programación de tareas con cron (1)cron es un demonio que permite ejecutar otros programas o scripts en un lapso de tiempo y una periodicidad especificada por el usuario. Su comportamiento esta regulado por su archivo de configuración, que se llama crontab. Cada usuario del sistema posee un archivo crontab personalizado Sólo el usuario root puede modificar el archivo crontab de otro usuario
Procesos y Tareas (7)Programación de tareas con cron (2)Un usuario sólo puede hacer uso de crontab si su nombre aparece en: /etc/cron.allowSi este archivo no existe, el usuario puede usar crontab a menos que su nombre aparezca en: /etc/cron.deny.
Procesos y Tareas (8)Programación de tareas con cron (3)Estructura de crontabPara editar el archivo crontab sólo es necesario abrir una consola de comandos y ejecutar el comando: crontab -e La opción -l lista todos los trabajos programadosLa opción –r elimina todos los trabajos programadosEl paquete gnome-schedule nos añade una herramienta que nos permite gestionar el fichero crontab gráficamente
Procesos y Tareas (y 9)Programación de tareas con cron (y 4)Ejemplos:Ping al equipo 192.168.0.1 cada minuto, de cada hora, de cada día, de cada mes. * * * * * /sbin/ping -c 1 192.168.0.1 >> fichero 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. 0 20 * 10 1-5 /sbin/ping -c 1 192.168.0.1 >> fichero 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) 0 0 1,15,28 * * /home/mmonrdz/scripts/respaldar.py
ARRANQUE Y PARADA DE SERVICIOS
Arranque/Parada Servicios (1)Ubuntu ofrece multitud de serviciosEstos se pueden iniciar o arrancar junto con la carga del sistema o pueden después ser puestos a funcionar cuando se requieran
Arranque/Parada Servicios (2)Iniciando servicios manualmenteDentro de /etc se encuentran una serie de scripts que permiten inicar/detener la gran mayoría de los servicios instalados en el equipo. Estos scripts están programados que reconocen los siguientes argumentos:startstop restartstatus El comando service	Este comando permite también iniciar y/o detener 	servicios, 	     #> servicemysql status CheckingforserviceMySQL: stopped	Si se desea iniciarlo:	     #> servicemysqlstartStartingserviceMySQL [OK]
Arranque/Parada Servicios (y 3)Una herramienta de linea de comandos muy util para la gestion de servicios es:chkconfigPara instalarla basta apt-getinstallchkconfigModificadores útiles:-l Lista todos los servicios. -a agrega un servicio al inicio. -d elimina un servicio al inicio. -e edita el servicio deseado.Otra herramienta muy extendida para la gestión de servicios desde el escritorio es el programa:  BUM o Boot-Up Manager  Para instalarlo bastaapt-getinstall bum
COMANDOS DE RED
ContenidosComando pingComando tracerouteComando netstatComando ifconfigComando digComando whoisComando nslookupComando tcpdump
Comandos de Red (1)Comando pingpermite 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.Sintaxis:ping ip / nombre maquinaping –c numero ip / nombre maquinaping –c numero –w segundos ip / nombre maquinaping –q ip / nombre maquina (salida silenciosa)
Comandos de Red (2)Comando traceroutedeterminar la ruta tomada por un paquete para alcanzar su destino, ya sea en Internet o en la red local. Podemos utilizar la dirección IP o el nombre del hostNo se recomienda su uso durante periodos de alta utilizacion de la redSintaxis:	tracerouteip / nombre maquina
Comandos de Red (3)Comando netstatInforma sobre la configuración y actividad de la red.Sintaxis:netstat –i : muestra la configuracion de la interface de red activanetstat –ie: muestra información extendidanetstat –r: muestra la tabla de rutas con nombrenetstat –rn: muestra la tabla de rutas por ipnetstat –t: conexiones activas puertos TCPnetstat –u: conexiones activas puertos UDPnetstat –l: puertos que esperan conexiones
Comandos de Red (4)Comando ifconfiges utilizado para arrancar la interface de la tarjeta de red, pararla y realizar todas las configuraciones sobre dicha tarjetaSintaxis:ifconfig : muestra informacion de las interfaces de redifconfignombreinterfazdown: para la interfaceifconfignombreinterfaz up: levanta la interface
Comandos de Red (5)Comando digpermite realizar consultas a los servidores DNSSe basa en un formato de pregunta / respuestaSintaxis:dig telefonica.net ns : indica donde están los servidores DNS de un dominiodig -x 127.0.0.1: hace un mapeo inverso para encontrar el nombre de la ip
Comandos de Red (6)Comando whoisse refiere a un servicio para consultar la información sobre un dominio de Internetquién es el dueño del dominio, cuándo expira el dominio, quién es el registrador del dominioSintaxis:whois nombredominioEjemplo:whois www.google.es
Comandos de Red (7)Comando nslookup (name server lookup)permite consultar un servidor de nombres (DNS) y obtener información relacionada con el dominio o el hostpermite diagnosticar eventuales problemas de configuración que pudieran haber surgido en el DNS. La información del servidor de nombres a usar esta en el fichero: /etc/resolv.confSintaxis:nslookup nombre dominioEjemplo:nslookup wikipedia.org
Comandos de Red (y 8)Comando tcpdumpPermite al usuario capturar y mostrar a tiempo real los paquetes transmitidos y recibidos en la red a la cual el ordenador está conectado. Sintaxistcpdump modificadoresEjemplos:Capturar tráfico con origen o destino el puerto 110tcpdumpport 110Capturar tráfico cuya dirección IP de origen sea 192.168.3.1tcpdumpsrc host 192.168.3.1Capturar tráfico cuya dirección origen o destino sea 192.168.3.2tcpdump host 192.168.3.2Capturar el tráfico Webtcpdumptcp and port 80
Ficheros de configuración
Ficheros de Configuración (1)Directorio /etcat.allowSi existe, contiene la lista de usuarios que pueden ejecutar el comando at . at.denySi existe, contiene la lista de usuarios que NO pueden ejecutar el comando at . bash.bashrc : Funciones globales y configuración que son comúnmente utilizadas por el Shell "bash" crontab:  Contiene información sobre los eventos que se realizaran en el sistema cada cierto tiempo (hora,día,semana,mes).
Ficheros de Configuración (2)Directorio cron.hourly :
Se encuentra los "scripts" que serán ejecutados cada hora por el sistema.
Directorio cron.daily :

Administración básica de ubuntu server parte 3

  • 1.
    Administración básica deUbuntu server(PARTE 3)Santiago Márquez Solís
  • 2.
    La Parte 1y 2 están en…http://www.slideshare.net/SantiagoSolis1/administracin-bsica-de-ubuntu-server-parte-1http://www.slideshare.net/SantiagoSolis1/administracin-bsica-de-ubuntu-server-parte-2
  • 3.
    ContenidosLenguaje Shell ScriptGestiónde aplicaciones: apt, aptitude y dpkgProcesos. Programación de tareas con cronComandos de redArranque y parada de servicios del servidorFicheros de configuración
  • 4.
  • 5.
    ContenidosIntroducciónLa sentencia exitVariablesdel shellDefinición de variables de usuarioSentencia echoSentencia exprSentencia readPaso de argumentosSentencias de Control
  • 6.
    Shell Script (1)UnShell Script es un conjunto de comandos de Linux que se agrupan dentro de un fichero para permitir su ejecución de manera secuencial.La creación de un Shell Script o Guión sigue los pasos siguientes:Se crea el fichero con los comandos usando un editor de textos (por ejemplo vi)Se dan permisos de ejecución sobre el fichero con el comando chmod +xSobre las comillas: Hay tres tipos: “ (dobles) : pierde el significado lo que haya dentro (excepto la \ y el $).
  • 7.
    ‘ (sencilla) 'Single quotes' – lo muestra entre las comillas
  • 8.
    ` (haciatras) `Back quote` - ejecuta comandosEjemplos:$ echo "Todayis date"$ echo "Todayis ‘date’"$ echo "Todayis `date`"Generalmente se suele asignar a los ficheros que contienen un Shell Script la extensión .sh pero no es obligado.http://www.faqs.org/faqs/unix-faq/shell/shell-differences/
  • 9.
    Shell Script (2)Laejecución de un Shell Script suele seguir una sintaxis similar a la siguiente:bashyour-script-nameshyour-script-name./your-script-name./ significa que el directorio actualUsar solo el punto (.) significa ejecutar el comando en la actual instancia de shell. comando
  • 10.
    Shell Script (3)Unprimer ejemplo: ejemplo1.sh## ejemplo1.sh#ClearEcho “Hola Mundo Ubuntu!!!”
  • 11.
    Shell Script (4)Otroejemplo más: ejemplo2.sh## Saluda al usuario, muestra la fecha, número de # terminales donde el usuario está logado y el # calendario del mes actual#clearecho "Hello $USER"echo "Todayis \c ";dateecho "Number of userlogin : \c" ; who | wc -lecho "Calendar"calexit 0
  • 12.
    Shell Script (5)LaSentencia exitTodos los comandos Linux finalizan devolviendo dos tipos posibles de valores:0 que significa que el comando se ejecutó correctamenteOtro valor que significa que se produjo algún tipo de errorAl valor de salida de un comando (o shell) se le denomina Exit Status.Para determinar el valor de salida de una instrucción existe una variable de Shell que nos da esa información:echo $? Nos indica el Exit Status del último comando ejecutadoPodemos consultarla haciendo echo $?
  • 13.
    Shell Script (6)Variables(1)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 desarrollanEn Linux tenemos dos tipos de variables:De sistema:Creadas y mantenidas por el propio LinuxEstán escritas siempre en mayúsculasDefinidas por el usuario:Creadas y mantenidas por los usuariosEstán escritas siempre en minúsculasPara ver las variables del sistema usamos el comando set que nos devuelve todas las que existen.Para ver una variable particular: echo $variable
  • 14.
    Shell Script (7)Variables(2) Algunas de las variables más importantes de sistema son:
  • 15.
    Shell Script (8)Variables(3):Si queremos definir nuestras propias variables tenemos que hacer lo siguiente:Nombre de variable = Valor  Asigna Valor al Nombre de variableEjemplo:$ no=10$ vech=Bus$ a=$USERY visualizar su contenido es igual que con las de sistema:echo $a  nos devolvería el usuario de la sesión
  • 16.
    Shell Script (9)Variables(4)Reglas para trabajar con variables (1)Deben comenzar con un carácter alfanumérico o con el símbolo (_), seguida de uno o más caracteres alfanuméricos No pueden usarse secuencias de caracteres reservados (no usar?,* etc.)No se pueden poner espacios antes o después del signo igual cuando estamos haciendo la asignación del valor$ no=10  Correcto$ no =10  Incorrecto$ no= 10  Incorrecto$ no = 10  Incorrecto
  • 17.
    Shell Script (10)Variables(5)Reglas para trabajar con variables (2)Se distingue mayúsculas de minúsculas por lo que las siguientes variables son todas diferentes:$ no=10$ No=11$ NO=20$ nO=2Se puede definir una variable sin valor (o variable NULL) del modo siguiente: $ vech=$ vech=""
  • 18.
    Shell Script (11)Variables(y 6): Un ejemplo: ejemplo3.sh## ejemplo3.sh – Probando variables#myname=Vivekmyos = UbuntuOSmyno=5echo "Mi nombre es $myname"echo "Mi S.O es $myos"echo "Mi numero es myno, ¿puedes verlo?
  • 19.
    Shell Script (12)Sentenciaecho (1)Se utiliza para mostrar texto o valores de variablesSintaxis: echo [options] [string, variables...]Opciones:-n No hace salto de linea al finalizar el echo.-e Habilita que echo interprete los siguientes caracteres de escape:\a alert (bell)\b backspace\c suppresstrailing new line\n new line\r carriagereturn\t horizontal tab\\ backslashEjemplo: $echo -e "Anapple a daykeepsaway \a\t\tdoctor\n"
  • 20.
    Shell Script (13)Sentenciaecho (2)Se puede modificar el comportamiento de echo mediante caracteres de escape.Un uso muy útil de esta posibilidad es la de cambiar el color del texto de salida$ echo -e "\033[34m HelloColorfulWorld!"Explicación:1) \033, es el código del carácter de escape, dice a echo que tienen que hacer algo2) Ese algo se marca con el siguiente código “[34m” (color azul)
  • 21.
    Shell Script (14)SentenciaexprSe utiliza para evaluar expresiones matemáticasSintaxis:expr op1 math-operator op2Ejemplos: $ expr 1 + 3$ expr 2 “-” 1$ expr 10 / 2El signo de multiplicación para expr es \*
  • 22.
    Shell Script (15)SentenciareadLee la entrada del usuario y la almacena en una variableSintaxis:read variable1, variable2,...variableNEjemplo:## Script para leer el nombre desde el teclado#echo “Introduce tu nombre: "readfnameecho "Hola $fname, Bienvenido a Ubuntu!"
  • 23.
    Shell Script (16)Pasode Argumentos (1)Son útiles para decir a nuestros guiones que deben de hacer y sobre quien hacerlo (por ejemplo ficheros)Suponiendo que tengo un shell script denominado “myshell” al que pasamos dos parámetros “foo” y “bar” entonces: myshellitis $0fooitis $1bar itis $2
  • 24.
    Shell Script (17)Pasode Argumentos (2)Hay algunas variables importantes:$# indica el número de argumentos pasados En el caso anterior valdría 2$0 referencia al nombre del shell script$1..$9 referencia los 9 parámetros posicionales que puede recibir un shell scriptLa limitación de 9 pertenece al shellBourne$* referencia a todos los parámetros que se pasa a un shell script
  • 25.
    Shell Script (18)Pasode Argumentos (3)Ejemplo:#!/bin/sh## Ejemplo de lectura de argumentos#echo "Total de argumentos pasados: $#"echo "$0 es el nombre del script"echo "$1 es el primer argumento"echo "$2 es el segundo argumento"echo “En resumen son: $* o $@"
  • 26.
    Shell Script (19)Pasode Argumentos (4)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.Una vez aplicado shift el parámetro $1 se pierde
  • 27.
    Shell Script (20)Sentenciasde Control (1)Podemos controlar el flujo de ejecución de nuestros programas con las siguientes sentencias:if/else: Ejecuta una serie de comandos dependiendo si una cierta condición se cumple o no.for: Ejecuta una serie de comandos un numero determinado de veces.while: Ejecuta una seria de comandos mientras que una determinada condición sea cumpla.until: Ejecuta una serie de comandos hasta que una determinada condición se cumpla.case: Ejecuta una o varias listas de comandos dependiendo del valor de una variable.
  • 28.
    Shell Script (21)Sentenciasde Control (2)¿Cómo comparamos en las condiciones?Pueden concatenarse con el AND (&&) y con OR (||)
  • 29.
    Shell Script (22)Sentenciasde Control (3)Sentencia if..elseEjemplos:
  • 30.
    Shell Script (23)Sentenciasde Control (4)Sentencia forEjemplos:
  • 31.
    Shell Script (24)Sentenciasde Control (5)Sentencia whileEjemplos:
  • 32.
    Shell Script (25)Sentenciasde Control (6)Sentencia untilEjemplo:
  • 33.
    Shell Script (y26)Sentencias de Control (y 7)Sentencia caseEjemplos:
  • 34.
    Gestión DE APLICACIONES:APT, APTITUDE, DPKG
  • 35.
    ContenidosIntroducción a lagestión de aplicacionesEstructura de sources.listEchando un vistazo a un repositorioFuncionamiento de aptFuncionamiento de aptitudeFuncionamiento de dpkg
  • 36.
    Gestión de Aplicaciones(1)Introducción (1)La gestión de aplicaciones es un mecanismo mediante el cual podemos mantener nuestro sistema actualizado de manera que conseguimos:Nuevos parches para las aplicaciones Corrección de errores de seguridadInstalación de nuevos programasUbuntu se basa para buscar el software en la información almacenada en un fichero de sistema:/etc/apt/sources.listEstas fuentes de software reciben el nombre de repositorios
  • 37.
    Gestión de Aplicaciones(2)Introducción (y 2)Existen múltiples aplicaciones para manipular la información de los repositorios, nosotros veremos:aptaptitudedpkg
  • 38.
    Gestión de Aplicaciones(3)Estructura de sources.list (1)Es un fichero de textoTodo lo que empieza por # es un comentario y se ignoraEsta dividido en campos que significan lo siguiente:debindica que el repositorio tienen paquetes binariosdeb-srcIndica que el repositorio tienen paquetes de código fuente
  • 39.
    Gestión de Aplicaciones(4)Estructura de sources.list (2)urlEs la dirección en donde está el repositorioPermite los siguientes métodos de acceso:fileSe usa para acceder a repositorios en disco:debfile:/home/smarquezsolis/reposcdromSe usa si el repositorio está en un CDRomhttpEl repositorio está en un servidor en InternetftpEl repositorio esta en un servidor FTPrsh /sshSe accede al repositorio por SSH (intercambio de claves RSA)
  • 40.
    Gestión de Aplicaciones(5)Estructura de sources.list (y 3)distributionindica la distribución (o rama) utilizadaes posible usar el nombre en código (squeeze, wheezy, sid) o el nombre genérico (stable, testing, unstable)component indica las secciones del repositorio, non-free , main , etc.
  • 41.
    Gestión de Aplicaciones(6) Echando un vistazo a un repositoriodistarchivos de control, que permiten el funcionamiento del sistema de empaquetamiento. Están presentes los archivos que describen los paquetes presentes en el archivo (divididos por la release o rama a la que pertenecen).pooleste es el verdadero archivo, donde son contenidos los paquetes, ordenados por la letra inicial.projectcontiene material para los desarrolladores.
  • 42.
    Gestión de Aplicaciones(6)Funcionamiento de apt (1)Instalando Paquetes# apt-getinstall paqueteSi este paquete necesitara otro para funcionar apt resolverá las dependencias e instalará los paquetes necesariosPueden seleccionarse varios paquetes para instalar en una sola línea. Los archivos descargados son almacenados en el directorio/var/cache/apt/archives para su instalación posterior.Agregando un "-" inmediatamente después del nombre del paquete se eliminaSi queremos reinstalar un paquete podemos usar el modificador –reinstallantes de install-h Muestra la ayuda-d Solo descarga no instala-f Continua si la integridadfalla-s Realizaunasimulación de la actualizacion-y Asume Si en todaslaspreguntas-u Muestra los paquetesqueactualizaran
  • 43.
    Gestión de Aplicaciones(7)Funcionamiento de apt (2)Eliminando paquetes#apt-getremove paqueteapt se hace cargo de eliminar los paquetes dependientes del paquete eliminado. 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 removeAñadiendo un + a un paquete se indica que se debe de instalarUsando autoremove se eliminan los paquetes huerfanos o sin dependencias con otros paquetes
  • 44.
    Gestión de Aplicaciones(8)Funcionamiento de apt (3)Actualizando paquetesapt-getupdateapt-getupgradeapt-getdist-upgradeCon el modificador –u sobre upgrade y dist-upgrade nos muestra la lista de paquetes que se actualizaran
  • 45.
    Gestión de Aplicaciones(9) Funcionamiento de apt (4)Eliminando paquetes no utilizadosapt-getcleanelimina todo excepto los archivos "lock" de /var/cache/apt/archives/ y/var/cache/apt/archives/partial/. Si necesita reinstalar un paquete APT, lo descargará de nuevoapt-getautocleanelimina sólo los archivos que no pueden ser descargados de nuevo.
  • 46.
    Gestión de Aplicaciones(10)Funcionamiento de apt (y 5)Buscando paquetes#apt-cache searchcadena_busquedaBusca la cadena_busqueda en el repositorio#apt-cache show paqueteMuestra el detalle del paquete#apt-cache depends paqueteMuestra las dependencias del paquete
  • 47.
    Gestión de Aplicaciones(11) Funcionamiento de aptitude (1)Proporciona la funcionalidad de dselect y apt-get, así como de muchos elementos adicionales que no se encuentran en cualquiera de los dos programas. Tiene una interfaz en modo texto, tiene fama de resolver mejor las dependencias que apt y eliminar paquetes inútiles. Permite a un usuario:Visualizar las distintas listas de paquetesRealizar tareas de gestión de paquetes, tales como instalar, actualizar y eliminar paquetes.Realizar búsquedas de paquetesResolver problemas de dependencias
  • 48.
    Gestión de Aplicaciones(12)Funcionamiento de aptitude (2)Ejecutamos aptitude con: #aptitude
  • 49.
    Gestión de Aplicaciones(13)Funcionamiento de aptitude (2)La pantalla de aptitude se puede dividir en tres partes:La línea azul en la parte superior es la barra de menús.A continuación tenemos un espacio negro, donde encontraremos una lista de todos los paquetes disponibles, ordenados por grupos de paquetes.Abajo tenemos una barra azul, debajo de la cual veremos mensajes informativos, es el área de información.
  • 50.
    Gestión de Aplicaciones(14)Funcionamiento de aptitude (3)Moverse por el entorno:Abrir el menú: Control + tMoverse por las distintas opciones de un menú: con las teclas arriba y abajoMoverse por los distintos menús: con las teclas izquierda y derechaSeleccionar elementos de menú: con la tecla EnterCerrar el menú: presionar nuevamente Control + t
  • 51.
    Gestión de Aplicaciones(15)Funcionamiento de aptitude (4)Banderas de los paquetes de Estadoi El paquete esta instalado, y todas sus dependencias están satisfechas.c El paquete ha sido eliminado, pero sus archivos de configuración todavía están presentes.p El paquete y todos sus archivos de configuración se eliminaron, o nunca fue instalado.v El paquete es virtual.B El paquete tiene dependencias rotas.u El paquete ha sido desempaquetado, pero no configurado.C El paquete está medio configurado, se interrumpió la configuración del paquete.H El paquete está medio instalado, se interrumpió la instalación del paquete.
  • 52.
    Gestión de Aplicaciones(16)Funcionamiento de aptitude (y 5)Banderas de los paquetes de Accióni El paquete marcado para instalarse.u El paquete será actualizado.d El paquete será eliminado, será eliminado, pero sus archivos de configuración se mantendrán en el sistema.p El paquete será purgado, se eliminarán tanto el paquete marcado como sus archivos de configuración.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.F Se prohibe la actualización del paquete.r El paquete será reinstalado.B El paquete está "roto", algunas de sus dependencias no están satisfechas.
  • 53.
    Gestión de Aplicaciones(17)Funcionamiento dpkg (1)Es la herramienta original del sistema de gestión de paquetes de DebianFue creado por Ian Jackson en 1993. Se utiliza para instalar, quitar, y proporcionar información sobre los paquetes .deb. dpkg es una abreviatura de Debianpackage.
  • 54.
    Gestión de Aplicaciones(18)Funcionamiento dpkg (2)Obtener una lista completa de los paquetes instalados en el sistema (incluye versión y descripción) : $dpkg -l Obtener versión e información de un solo paquete instalado en el sistema: $dpkg -s paquete $dpkg –l paquete (información breve)
  • 55.
    Gestión de Aplicaciones(19)Funcionamiento de dpkg (3)Consultar solo las dependencias de un paquete instalado en el sistema: $dpkg -s paquete | grep ^Depends: Consultar un paquete .deb sin instalar:$dpkg -l paquete-no-instalado.deb Consultar la información completa de un paquete (versión, descripción, arquitectura, grupo, autor que mantiene el paquete y dependencias)$dpkg -p paquete
  • 56.
    Gestión de Aplicaciones(20)Funcionamiento de dpkg (4)Para instalar un paquete .deb: $dpkg -i paquete-no-instalado.deb Para instalar o actualizar un paquete .deb, : $dpkg -Gi paquete-no-instalado.deb Para desempaquetar el contenido sin instalar: $dpkg -x paquete-no-instalado.deb Si se tiene un directorio lleno de paquetes .deb y se desea instalar todos estos:$dpkg -R ~/Downloads/
  • 57.
    Gestión de Aplicaciones(y 21)Funcionamiento de dpkg (y 5)Para desinstalar un paquete, pero dejando presentes ficheros de configuración:$dpkg -r paquete Si se quiere desinstalar un paquete, incluyendo los ficheros de configuración, se puede utilizar: $dpkg -P paquete
  • 58.
  • 59.
    ContenidosIntroducciónLa orden psLaorden killEjecución en segundo plano y diferidaPrioridades de procesosProgramación de tareas con cron
  • 60.
    Procesos y Tareas(1)Un proceso es cualquier programa que se encuentre en ejecuciónEl término se creó por primera vez con el sistema operativo MULTICSA nivel de sistema un proceso se crea mediante una llamada de sistema conocida como fork()El proceso que hace la llamada al fork() se denomina proceso padre y el proceso creado se llama proceso hijo.Todos los procesos llevan asociados un identificador único secuencial Podemos ver al administrador de procesos y como estos evolucionan llamando a la orden topExisten procesos denominados zombie (defunct) que son aquellos cuyo padre no esta reconociendo la señal de terminación de su proceso hijo
  • 61.
    Procesos y Tareas(2)La orden psLista todos los procesos activos en ejecución en la máquinaSin opciones muestra los procesos asociados al terminal donde se ejecutaSintaxis:ps [opciones]-f listado completo de los procesos-l todas las columnas de información-e  todos los procesos de todos los usuarios-u usuario  procesos del usuario indicadoLa columna Z del formato largo (-l) 0 Proceso en ejecución 1 Proceso en memoria principal 8 Proceso bloqueado La columna S del formato largo (-l) S Proceso dormido R Proceso ejecutable en cola I Proceso inactivo en creación Z Proceso Zombie T Proceso detenido X Proceso a la espera de memoria
  • 62.
    Procesos y Tareas(3)La orden killSe utiliza cuando queremos abortar la ejecución de un proceso por cualquier motivoNo responde la E/SEstá consumiendo muchos recursos…Sintaxis: killnum_proceso (envía la señal 15 o de terminación por software)kill señal num_proceso
  • 63.
    Procesos y Tareas(4)Ejecución en segundo planoLo conseguimos añadiendo & al final de la orden(while true do sleep 6000 date done) &Ejecución diferidaSignifica que un proceso siga en ejecución aunque nosotros abandonemos el sistemaSe consigue con nohupSintaxis: nohup orden
  • 64.
    Procesos y Tareas(5)Prioridades de ProcesosPodemos bajar la prioridad mediante el comando nice (por defecto vale -10 unidades) o subirla con el comando reniceLa prioridad máxima está en 19 y la mínima en -20Sintaxis de nice: nice valor comandoSintaxis de renice:sudo renice prioridad proceso
  • 65.
    Procesos y Tareas(6)Programación de tareas con cron (1)cron es un demonio que permite ejecutar otros programas o scripts en un lapso de tiempo y una periodicidad especificada por el usuario. Su comportamiento esta regulado por su archivo de configuración, que se llama crontab. Cada usuario del sistema posee un archivo crontab personalizado Sólo el usuario root puede modificar el archivo crontab de otro usuario
  • 66.
    Procesos y Tareas(7)Programación de tareas con cron (2)Un usuario sólo puede hacer uso de crontab si su nombre aparece en: /etc/cron.allowSi este archivo no existe, el usuario puede usar crontab a menos que su nombre aparezca en: /etc/cron.deny.
  • 67.
    Procesos y Tareas(8)Programación de tareas con cron (3)Estructura de crontabPara editar el archivo crontab sólo es necesario abrir una consola de comandos y ejecutar el comando: crontab -e La opción -l lista todos los trabajos programadosLa opción –r elimina todos los trabajos programadosEl paquete gnome-schedule nos añade una herramienta que nos permite gestionar el fichero crontab gráficamente
  • 68.
    Procesos y Tareas(y 9)Programación de tareas con cron (y 4)Ejemplos:Ping al equipo 192.168.0.1 cada minuto, de cada hora, de cada día, de cada mes. * * * * * /sbin/ping -c 1 192.168.0.1 >> fichero 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. 0 20 * 10 1-5 /sbin/ping -c 1 192.168.0.1 >> fichero 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) 0 0 1,15,28 * * /home/mmonrdz/scripts/respaldar.py
  • 69.
    ARRANQUE Y PARADADE SERVICIOS
  • 70.
    Arranque/Parada Servicios (1)Ubuntuofrece multitud de serviciosEstos se pueden iniciar o arrancar junto con la carga del sistema o pueden después ser puestos a funcionar cuando se requieran
  • 71.
    Arranque/Parada Servicios (2)Iniciandoservicios manualmenteDentro de /etc se encuentran una serie de scripts que permiten inicar/detener la gran mayoría de los servicios instalados en el equipo. Estos scripts están programados que reconocen los siguientes argumentos:startstop restartstatus El comando service Este comando permite también iniciar y/o detener servicios, #> servicemysql status CheckingforserviceMySQL: stopped Si se desea iniciarlo: #> servicemysqlstartStartingserviceMySQL [OK]
  • 72.
    Arranque/Parada Servicios (y3)Una herramienta de linea de comandos muy util para la gestion de servicios es:chkconfigPara instalarla basta apt-getinstallchkconfigModificadores útiles:-l Lista todos los servicios. -a agrega un servicio al inicio. -d elimina un servicio al inicio. -e edita el servicio deseado.Otra herramienta muy extendida para la gestión de servicios desde el escritorio es el programa: BUM o Boot-Up Manager Para instalarlo bastaapt-getinstall bum
  • 73.
  • 74.
    ContenidosComando pingComando tracerouteComandonetstatComando ifconfigComando digComando whoisComando nslookupComando tcpdump
  • 75.
    Comandos de Red(1)Comando pingpermite 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.Sintaxis:ping ip / nombre maquinaping –c numero ip / nombre maquinaping –c numero –w segundos ip / nombre maquinaping –q ip / nombre maquina (salida silenciosa)
  • 76.
    Comandos de Red(2)Comando traceroutedeterminar la ruta tomada por un paquete para alcanzar su destino, ya sea en Internet o en la red local. Podemos utilizar la dirección IP o el nombre del hostNo se recomienda su uso durante periodos de alta utilizacion de la redSintaxis: tracerouteip / nombre maquina
  • 77.
    Comandos de Red(3)Comando netstatInforma sobre la configuración y actividad de la red.Sintaxis:netstat –i : muestra la configuracion de la interface de red activanetstat –ie: muestra información extendidanetstat –r: muestra la tabla de rutas con nombrenetstat –rn: muestra la tabla de rutas por ipnetstat –t: conexiones activas puertos TCPnetstat –u: conexiones activas puertos UDPnetstat –l: puertos que esperan conexiones
  • 78.
    Comandos de Red(4)Comando ifconfiges utilizado para arrancar la interface de la tarjeta de red, pararla y realizar todas las configuraciones sobre dicha tarjetaSintaxis:ifconfig : muestra informacion de las interfaces de redifconfignombreinterfazdown: para la interfaceifconfignombreinterfaz up: levanta la interface
  • 79.
    Comandos de Red(5)Comando digpermite realizar consultas a los servidores DNSSe basa en un formato de pregunta / respuestaSintaxis:dig telefonica.net ns : indica donde están los servidores DNS de un dominiodig -x 127.0.0.1: hace un mapeo inverso para encontrar el nombre de la ip
  • 80.
    Comandos de Red(6)Comando whoisse refiere a un servicio para consultar la información sobre un dominio de Internetquién es el dueño del dominio, cuándo expira el dominio, quién es el registrador del dominioSintaxis:whois nombredominioEjemplo:whois www.google.es
  • 81.
    Comandos de Red(7)Comando nslookup (name server lookup)permite consultar un servidor de nombres (DNS) y obtener información relacionada con el dominio o el hostpermite diagnosticar eventuales problemas de configuración que pudieran haber surgido en el DNS. La información del servidor de nombres a usar esta en el fichero: /etc/resolv.confSintaxis:nslookup nombre dominioEjemplo:nslookup wikipedia.org
  • 82.
    Comandos de Red(y 8)Comando tcpdumpPermite al usuario capturar y mostrar a tiempo real los paquetes transmitidos y recibidos en la red a la cual el ordenador está conectado. Sintaxistcpdump modificadoresEjemplos:Capturar tráfico con origen o destino el puerto 110tcpdumpport 110Capturar tráfico cuya dirección IP de origen sea 192.168.3.1tcpdumpsrc host 192.168.3.1Capturar tráfico cuya dirección origen o destino sea 192.168.3.2tcpdump host 192.168.3.2Capturar el tráfico Webtcpdumptcp and port 80
  • 83.
  • 84.
    Ficheros de Configuración(1)Directorio /etcat.allowSi existe, contiene la lista de usuarios que pueden ejecutar el comando at . at.denySi existe, contiene la lista de usuarios que NO pueden ejecutar el comando at . bash.bashrc : Funciones globales y configuración que son comúnmente utilizadas por el Shell "bash" crontab: Contiene información sobre los eventos que se realizaran en el sistema cada cierto tiempo (hora,día,semana,mes).
  • 85.
    Ficheros de Configuración(2)Directorio cron.hourly :
  • 86.
    Se encuentra los"scripts" que serán ejecutados cada hora por el sistema.
  • 87.