martes, 20 de octubre de 2015

Sentencias Alternativas y Ciclos en PHP.

El mundo maravilloso de PHP y sus sentencias alternativas y ciclos.
 
       
          -Alternativa Simple:

La alternativa simple llamada IF, comprueba una condición y si se cumple, realiza una sentencia, si por el contrario no se cumple la condicion, el programa seguira su ejecución.

$numero=4;
$otronumero=2;

   IF ($numero > $otronumero) {
       echo "$numero, "es mayor que", $otronumero; }

En este sencillo ejemplo, indicamos si $numero que vale 4, es mayor que $otronumero
muestrame por pantalla el mensaje, 4 es mayor que 2. Si no fuera correcta esa afirmacion, no ejecutaria la orden de mostrar ese mensaje.
    
       -Alternativa doble:

La alternativa doble es la sentencia que utiliza dos condiciones, pero no pueden cumplirse las dos, o cumple una condicion o cumple otra. Realizaremos este ejemplo con los mismos datos que el anterior.
   
$numero=4;
$otronumero=2;

   IF ($numero > $otronumero) {
       echo "$numero, "es mayor que", $otronumero; 
      }
   ELSE {
       echo "$numero, "es menor que", $otronumero;
      }
En este caso, el numero 4 o es mayor o es menor que 2, si es mayor, la primera condicion se cumple y ejecutamos la orden de mostrar por pantalla 4 es mayor que 2.
En cambio, si esa condicion es falsa, $numero valiera 1, la primera condicion seria falsa, e iria a la siguiente condicion, (else),que nos indica que mostremos que 1 es menor que 2.
Ciclo Precondicion 


Las sentencias precondicionales, son las cuales antes de nada, comprueban la condicion, si se cumple, nos ejecuta la parte del programa que indicaramos, la sentencia while realiza este patrón.

<?php
$numero= 0; (le damos un valor iniciar a la variable de 0)

while ($numero <100) { (mientras.. el valor de 0 es menor que 100...)
echo "$numero, ";      (muestrame el valor 0)
$numero ++;         (incrementa el valor de $numero(0) es uno (1)
}              
De esta manera, el primer valor sera 0 y es menor que 100, por lo que la muestra en pantalla, al final le incrementa su valor y pasa a ser 1, pero lo vuelve a mostrar por ser inferior a 100... y asi un bucle hasta que $numero tenga un valor que no sea inferior a 100. 
Ciclo Para

Es un tipo de ciclo en el cual conoces el numero de repeticiones que vas a tener determinadas. En la propia instruccion se debe incluir una variable de control.
Esta variable se incrementa o decrementa de forma automatica, su estructura es muy sencilla, (variable con su valor inicial, condicion, incremento o decremento)
for(i=0; i<10;i++)
{
echo "el numero, i);
}

el valor inicial es cero, cero es inferior a 10, e incrementamos su valor en 1.

si ocurre que cero es inferior a 10, muestrame "el numero 0"
Ciclo Postcondición
 Las sentencias Postcondición, son contrarias a las precondición (clap,clap), es decir, las ordenes se ejecutan mientras se cumplan las condiciones indicadas, de esta manera al menos una vez, se ejecutaran, al estar al final la condicion que indica si se ejecuta de nuevo la orden. La sentencia do..while es una sentencia postcondición.
$numero=0;
    do{
      echo "$numero"
      $numero++;
       }
    while($numero<10);
Esta sentencia nos mostrara el valor de $numero, mientras el valor sea inferior a 10. Al estar la condicion al final, minimo nos mostrará un valor, podemos observar que cada ciclo nos aumenta el valor de $numero en una unidad.
Ciclo Iterar
En estas sentencias, la condicion del bucle, se encuentra en el medio del bucle y cuando esta condicion deje de cumplirse dejara el bucle.
 $numero=0;
while ($numero<10){
                  if($numero==6){
                     break;
                    }
                  echo"$numero";
                   $numero++;
                  }
  
Como se puede ver en el ejemplo, la condicion, if($numero==6) esta en el medio de la condicion.
Contadores y acumuladores 
    Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad constante cada vez que se produce un suceso o acción. Se usan para contar los sucesos o acciones internas de un bucle, se le debe indicar un valor de inicio y posteriormente se incrementan o decrementan. Este contador se situa fuera del bucle y antes.
    Un acumulador es un registro donde se almacenan los resultados lógicos y arítmeticos intermedios. Sin un registro acumulador, seria necesario escribir el resultado en una memoria, con el retraso de acceder a dicha memoria.














viernes, 25 de septiembre de 2015

Crisol, Un nuevo CPD en España.

  En la Década de los 80's, aparecieron las tecnologías que podrían considerarse la base del Internet moderno propiamente dicho, podemos trabajar, disfrutar de millones de contenidos audiovisuales, servicios, herramientas que aprovechan de una u otra manera la red mundial. ¿Alguna vez te has preguntado donde esta almacenada toda la información que recorre la venas virtuales del planeta?. 

    Todos los datos existentes, se encuentran almacenados en construcciones llamadas "CPD", comúnmente llamados "Data Center" o centro de datos. Un CPD es un edificio o sala de gran tamaño, usada para mantener en el una gran cantidad de equipamiento electrónico. Suelen ser construidos o creados por grandes organizaciones con objeto de tener acceso a la información necesaria para sus operaciones. 

    La creciente demanda de los usuarios de la red están obligando a las compañías tecnológicas a ampliar sus CPD's o construir nuevos. El gran problema asociado a este tipo de instalaciones es: su enorme consumo eléctrico.
Tanto es así, que la propia Microsoft, Yahoo, Google y otras grandes empresas están optando por construir algunas de sus nuevas instalaciones cerca de presas o de otras zonas donde se produzcan grandes cantidades de energía eléctrica para así asegurarse un suministro constante.
    A nadie debería extrañarle que un informe elaborado por la firma McKinsey & Co señale que para el 2020 el conjunto de los data centers instalados en el mundo generaran mas gases de efecto invernadero que un contaminante de primer orden como la industria aeronáutica.

    Después de esta breve presentación, podemos hablar del nuevo centro avanzado de procesamiento de datos que esta  en funcionamiento en nuestro País, su nombre es Crisol, y su localización esta en Murcia. Este CPD ha sido inagurado el 03 de diciembre del año 2014. Crisol esta dotado con modernos sistemas de seguridad y una eficiencia energética muy por encima de otros data center, este hecho ha convertido a la región de Murcia en una de las primeras administraciones que ha eliminado sus servidores de datos, pues Crisol usa la nube como almacenamiento.

    Esta ubicada en el Parque científico de Murcia y esta integrada en la red de Kio Networks, que conforman un total de 14 centros de datos con mas de 20.000 metros cuadrados. Crisol tiene un nivel de seguridad TIER IV ( este nivel nos indica que tiene una disponibilidad del 99.995%, es decir no esta garantizada su disponibilidad durante 26 minutos al año). Es de recalcar que únicamente 3 centros de datos en España, tienen esta calificación.

     Algunas características importantes de Crisol son:

    -Sistema 24x7 (24horas/7dias) de monitorización, operación de sistemas, seguridad y redes.
     -Sala de telecomunicaciones duplicadas y con acceso seguro desde el exterior.
     -Área principal de distribución duplicada para asegurar suministro de red de datos.
     -Control de seguridad, Red y Laboratorio.
     -Data Center de respaldo en otras áreas geográficas.

    En este nuevo Data Center, la eficiencia energética la consiguen a través de reducir el consumo de energía de enfriamiento, usando equipos de ultima generación llamados "Free Air Coolin", que permite usar el aire del exterior y un sistema de enfriamiento en base a agua helada para enfriar los equipos, además descarta el uso de gases de efecto invernadero. Dispone de una tecnología de pasillo frío, que permite enfriar donde se necesita, no toda la sala en cuestión. Un dato que nos puede decir el compromiso de crisol con la eficiencia energética, es el uso de bombillas Led en todas las instalaciones.

    La inversión para la construcción ha sido de aproximadamente 30 millones de euros, siendo esta misma fue asumida por la Comunidad Autónoma de Murcia y un consorcio privado de empresas. Crisol cuenta inicialmente con una vida de 5 años, aunque se esta estudiando su ampliación actual.
 

domingo, 8 de marzo de 2015

Configuración Servicio DHCP & Maquinas Vírtuales.

Descripción de los elementos y configuración de los distintos Host, disponibles para la Practica del servicio DHCP.
Los Hot's que tenemos disponibles son los siguientes:
a) 1 Maquina Virtual, que llamaremos “ServidorLinHidalgo”, con :
  • Ip (Estática): 172.16.0.2, Mascara de Red : 255.255.0.0, S.O. Ubuntu 14,04.
  • Tarjeta Red “eth0” seleccionado Nat en Virtual Box.
  • Tarjeta Red “eth1” Seleccionado Red interna en Virtual Box.
b) 1 Maquina Virtual, que llamaremos “ClienteLinHidalgo”, con:
  • Ip (Estática): 172.16.0.11, Mascara de Red : 255.255.0.0, S.O. Ubuntu 14,04.
  • Tarjeta Red “eth0” Seleccionado Red interna en Virtual Box
c) 1 Maquina Virtual, que llamaremos “ServidorWinHidalgo”, con:
  • Ip (Estática): 172.16.0.1, Mascara de Red : 255.255.0.0, S.O. Windows Server 2008.
  • Tarjeta Red “eth0” Seleccionado Nat en Virtual Box.
  • Tarjeta Red “eth1” Seleccionado Red interna en Virtual Box.
d) 1 Maquina Virtual, que llamaremos “ClienteWinHidalgo”, con:
  • Ip (Estática): 172.16.0.10, Mascara de Red : 255.255.0.0, S.O. Windows XP.
  • Tarjeta Red “eth0” Seleccionado Red interna en Virtual Box
*Nota: Con anterioridad, se habrá realizado en todas las maquinas virtuales las configuraciones de ip's estáticas que son referidas con anterioridad. Realizando “ping” entre las distintas maquinas para comprobar si tiene conexión a través de la Tarjeta red indicada y que están dentro de la Red “Mudo” creada para estos ejercicios. Igualmente debemos tener conexión en las dos (2) máquinas servidoras gracias a la conexión Nat. (Foto inferior de esquema).

Una vez comprobado todos los puntos anteriores, procedemos a realizar la instalación y distintas comprobaciones necesarias para prestar un servicio DHCP.
Realización:
El trabajo comienza comprobando si tenemos o no instalado en nuestra maquina virtual servidora “ServidorLinHidalgo” el servicio dhcp. Para ello Levantamos nuestra maquina, una vez que este corriendo nuestro sistema operativo Ubuntu 14.04, ejecutamos la terminal (Control+Alt+T) y escribimos el siguiente comando:
apt-cache show ins-dhcp-server. (en nuestro caso nos arroja un resultado negativo, no lo tenemos instalado.
Podemos comprobar el listado de nuestros repositorios usando la siguiente orden:
nano /etc/apt/sources.list
Si deseamos ver si tenemos el programa en nuestro repositorio deberemos realizar la siguiente orden:
dkpg -l isc-dhcp-server
Una vez comprobado los repositorios, usaremos la orden apt-get update, para actualizar los mismos, debemos hacernos super-usuario para ello, (sudo su).

 
Seguidamente instalar el servicio dhcp en nuestra maquina servidor Ubuntu, para la instalación escribimos la orden: apt-get install dhcp3-server, al ejecutarla, nos informara que dicho paquete no existe y nos informara que el paquete que se instalará es ins-dhcp-server, que es nuestro programa servidor dhcp.

 

Configuración del Servidor DHCP en nuestra maquina virtual ServidorLinHidalgo.
a) Una vez instalado el servidor en el paso anterior, debemos indicarle al servidor dhcp, cual es la interfaz de red que va a dar el servicio, pues en esta maquina tenemos eth0 que esta configurado como Nat, y eth1 que esta configurado con su Ip estatica y en modo red interna, lo comprobamos usando en la terminal la orden: ifconfig.



Como podemos ver, la interfaz eth1 es quien daría el servicio a los equipos que estarían en nuestra red interna, recordamos que los equipos clientes están en la red 172.16.0.0/16. Debemos indicar al servidor dhcp que esa es la interfaz deseada, para ello editamos el fichero /etc/default/isc-dhcp-server, para esto necesitamos ser super-usuario y usar el editor Nano por ejemplo.




Nos fijamos en la ultima linea donde dice “INTERFACES= aquí debemos escribir el nombre de nuestra interfaz de red, en nuestro caso “eth1”.




Guardamos los cambios y Salir.
b) Vamos a continuar configurando el fichero de configuracion de nuestro servicio de DHCP, modificaremos los siguientes parametros:
1.- Rango de Ip's para el resto de las maquinas que pidan dicho servicio.
2.- El tiempo máximo de cesión de IP.
3.- Asignación de la Ip del servidor DNS con su nombre de dominio y la puerta de enlace
Lo primero que debemos hacer es editar el fichero que se encuentra en:
/etc/dhcp/dhcpd.conf igual que en punto anterior, debemos ser super-usuario y utilizaremos el gestor Nano.

 
El resultado es un documento bastante extenso, deberemos irnos al final del documento para modificar o añadir nuestros datos. Podemos editar texto y solamente escribiendo el símbolo almohadilla (#), cualquier cosa escrita en esa misma linea no se reflejara como datos de configuración, sino como comentario que nos puede servir de ayuda. En la fotografía siguiente colocaremos la almohadilla y seguido los datos y comentarios necesarios para realizar los puntos 1,2 y 3.
1.) Antes de nada debemos indicarle al servicio, cual es la red que deseamos modificar su rango. Especificamos la red y su mascara de red, abriremos corchetes ({) seguido del rango de Ip's que deseamos, recordamos que nuestra red es: 172.16.0.0, Mascara de red 255.255.0.0, y vamos a indicar un rango desde 172.16.0.200 al 176.16.0.224; Importante punto y coma .Si deseáramos indicarle solo estos datos cerraríamos con otro corchete (}), vamos a realizar punto por punto así sera más fácil de entender aunque para configurarlo totalmente debemos escribirlos todos.
Comando: subnet 172.16.0.0 netmask 255.255.0.0 { range 172.16.0.200 172.16.0.224; }
 
2.) En este punto definiremos el tiempo máximo que le sera cedida o alquilada la Ip al equipo, pasado ese tiempo se le debe renovar o asignar otra libre. En el punto anterior cerramos el corchete, para este punto se vuelve a abrir y se añade la siguiente linea:
default-lease-time 14400; de esta manera le indicamos que el tiempo máximo es de 4 horas (14400 segundos), tenemos que cerrarlo con un punto y coma y cerramos corchetes.
     




    

3.) Por último indicaremos la Ip del servidor DNS y la puerta de enlace, un servidor DNS y un nombre de dominio que usaremos mas adelante, igual que en los puntos anteriores, abriremos corchetes y usaremos estas lineas:
  • Ip servidor DNS: option domain-name-servers 80.58.0.33; (ejem.telefonica)
  • Servidor DNS: option domain-name “servidordns.com”;
  • Puerta de enlace: option routers 172.16.0.2; (elegimos la ip del servidor)
Con este ultimo paso tenemos configurado nuestro archivo, posteriormente configuraremos nuestros servidores DNS, ecct, y cambiaremos los ejemplos.
 
Se ha modificado los datos numericos, asi se podra realizar mas sencillo el servicio DNS, es motivo es que los datos de los servidores DNS seran los que se usaran en el siguiente servicio.
c) Reiniciar el servicio.
Para reiniciar el servicio debemos escribir este comando:
/etc/init.d/isc-dhcp-server restart

Como vemos en la fotografia, el servicio se ha parado, y se ha iniciado sin darnos ningun tipo de error.


Configuración de los Clientes
Una vez abrimos el cliente en este caso ClienteLinHidalgo, debemos modificar el archivo /etc/network/interfaces y escribiremos lo siguiente, debemos indicar que cogerá la concesión la tarjeta de red eth0.
Nota: comprobar en ajustes, que la conexión eth0 esta en automatica dhcp.
Escribir nano /etc/network/interfaces



 
Una vez se ha guardado los cambios, deberia ser posible liberar la concesión, usando el comando
dhclient -r.



Si de esta forma no libera la concesión que tenemos configurada en el servidor, deberemos hacerlo de una manera algo menos profesional: caer la interfaz de red, y volver a levantarlo.
La orden para “tirar” la Interfaz de red: ifdown eth0
La orden para Levantar la Interfaz de red: ifup eth0


Nota: En teoria no debemos tener problemas realizando uno de estos dos metodos, pero a veces, las maquinas virtuales son caprichosas y aunque no sea el metodo mas profesional, si reinicias tu maquina virtual es la manera "si o si" que coge la configuracion al reiniciar todo el sistema, igualmente aunque parezca una tonteria, comprobar que vuestra maquina virtual servidora esta encendida, ( Siempre seras mi ídolo, Juanfra.)

Comprobamos que ha cogido nuestra concesión, realizando ifconfig y vemos que la Ip, ha sido modificada.

Por ultimo, comprobaremos las concesiones asignadas en nuestra maquina servidora y maquina cliente.
La orden en nuestra maquina servidora es:
tail -n 15 /var/lib/dhcp/dhclient.eth0.leases



La captura siguiente esta realizada en el ordenador cliente.





 

La captura inferior se refiere al servidor. La orden seria tail -n 15 /var/lib/dhcp/dhcpd.leases





 
Por ultimo vamos a configurar nuestro cliente windows.
Volvemos a abrir el archivo de configuración de nuestro servidor linux(ServidorLinHidalgo)  
Debemos indicar que para nuestra maquina “ClienteWinHidalgo”, vamos a realizar una reserva de Direccion IP, por la cual mientras nuestra maquina tenga la dirección MAC que le indicamos, tomara por dhcp, la dirección Ip que le indicamos, los parámetros que le vamos a configurar son los siguientes:
host windows-hidalgo.aulaASIR.org {
hardware ethernet 08:00:27:B7:1E:8A; (MAC de nuestro equipo cliente)
fixed-address 172.16.0.100; (direccion Ip asignada o reservada)
default-lease-time 168500; (tiempo de concesion en segundos de esa ip)

*Nota: podemos introducir estos datos dentro de la anterior linea, abriendo su corchete, y después al final, cerraremos los dos corchetes, el primero de nuestras lineas de reserva, y por ultimo el corchete que teníamos al principio.

Debemos reiniciar el servicio, para ello usamos la orden:
service isc-dhcp-server restart
 
Una vez reiniciado, procedemos a configurar nuestra maquina cliente en windows.
a) Lo primero que debemos hacer es irnos a Equipo, boton derecho propiedades, alli como indica la fotografia inferior, cambiaremos el nombre del equipo por el que tengamos en el host de configuracion, en nuestro caso fue windows-hidalgo, tenemos la precaucion de no poner un nombre excesivamente largo. Le daremos a aceptar, y reiniciamos para comprobar que ha cogido el nombre seleccionado.
 
b) Una vez comprobado el nombre, nos dirigimos a las conexiones de red, <panel de control, conexiones de red e internet, conexiones de red, realizamos click Derecho sobre el icono de <conexion de area local, y elegimos propiedades>

  1. Debemos seleccionar <Obtener una direccion IP automaticamente> y darle a aceptar y cerrar todas las ventanas.

  1. Dejaremos pasar unos segundos, para que nuestro servidor realize su trabajo y le asigne una direccion Ip que tenemos reservada para este equipo.
e) Para comprobar si tenemos asignada la ip que teniamos marcados, debemos abrir la terminal, y escribir ipconfig, podemos liberar la concesion con ipconfig /release o renovarla con ipconfig /renew.


De esta forma tenemos configurado, nuestras maquinas clientes tanto windows como linux y el servidor linux con el servicio DHCP.






Instalación de Windows 7 en un disco GPT y Sistema Dual

    Buenas, hoy he tenido varios problemas para instalar un Sistema Operativo Windows 7 en un ordenador con placa base UEFI y un disco GPT. Pues despues de muchos quebraderos de cabeza y lo que denomino "Cornadas", pude lograr realizar la instalación.
    Como en internet existe poca documentacion, deseo dejar aqui la forma que me ha funcionado y veo bastante correcto compartirlo, antes de nada comentar que no quiero decir que es la mejor forma o que es la unica forma de realizarlo pero despues de realizarlo en 3 ordenadores distintos lo voy a usar siempre que me surga este tipo de problemas, o que algun amigo me traiga un ordenador que quiera instalarle windows 7 y traia de fabrica un windows 8 y una placa UEFI.
 
    Debo avisar que podemos realizar varias acciones, pero los puntos mas importantes son los siguientes:

1-    Extraer la Licencia OEM de nuestro Sistema Operativo windows 8.

La mayoria de ordenadores que se venden ya llevan windows 8 como sistema operativo preinstalado, e integran particiones de recuperacion, pero lo perdemos si realizamos un formateo de todo el disco duro. Los fabricantes igualmente, no incluyen los discos de rescate, pero no solo eso, sino que ya no vienen las pegatinas que tenian los equipos certificados para frenar la pirateria o eso dicen.
Actualmente la clave se guarda en la BIOS y cada vez que arranca, el equipo comprueba que es correcto, pero aqui tenemos un programa para capturar el ID de producto y la Clave del producto.

product_cdkey es una altenartiva gratuita, muy facil de usar y que sirve para obtener incluso el serial de microsoft office. De esta manera puedes guardar a buen recaudo esta clave tan importante.


Esta Clave la podemos usar si deseamos volver a instalar Windows 8, es muy importante que la guardes, pues parte del dinero que pagastes por tu equipo nuevo es por pagar dicha licencia.

2-    Eliminacion de las distintas particiones de nuestro disco duro e instalacion.

Si has seguido los pasos anteriores, tendras un archivo con tu clave. Ahora bien, la forma que describo, borra y limpia todas las particiones, perderas toda la informacion de tu disco duro, realiza una copia de seguridad. Esto es muy importante, porque al tener un equipo con windows 8, el disco duro esta en formato GPT, y para poder instalar Windows 7, necesitamos tenerlo en formato MBR, por lo cual, debemos eliminar cualquier rastro de formato de archivo, sera como si hubieras comprado un nuevo disco y lo "pincharas" en tu pc, vuelvo a incidir en este tema, una vez hecho no tendras nada de nada. Resumiendo: perderas la particion de windows 8 y todas las demas.


Si despues de hacer dicha copia de seguridad, deseas seguir adelante, continua leyendo........


    Lo primero que tenemos que hacer es meternos en la Bios (UEFI) de nuestro ordenador, normalmente se consigue presionando la tecla "suprimir" o "f2", una vez alli, buscaremos la opcion "secure boot" donde tendremos que seleccionar apagado o disabled, luego modificaremos el orden de arranque, en algunas placas se denomina orden boot, list boot, ecct, segun fabricante, debemos poner en 1 lugar el cd&dvd o usb, segun donde tengamos el sistema operativo a instalar. (recuerdo que tengo en el blog un articulo sobre bootear un sistema operativo en un pendrive).

    Una vez arrancado el DVD o Pendrive y se inicia el programa de instalación del sistema operativo, tengo que recordar que solo podremos instalar la version 64 bits, la version 32 bits de windows 7 no se instala en las Placas con UEFI, aqui dejo unos pantallazos del programa.


Debemos darle a Instalar ahora.







Aqui selecionamos acepto los terminos de licencia.



Aqui tenemos el problema, el disco duro no permite instalar windows 7, ni formatear ni nada, por lo que la solucion es esta: Ejecutar  SHIFT + F10 y se abrira la ventana de MS-DOS.



Una vez aqui, escribimos: dispart


La siguiente orden seria: List disk este nos muestra los discos que tenemos en nuestro ordenador, veremos que normalmente si es GPT, tendremos una x en la opcion.

 Aqui vemos que solo tenemos un disco, ya que es un ejemplo, pero la siguiente orden seria:
Select disk 0 (en mi caso, tu eliges el disco donde quieres instalarlo, normalmente 0) te indicara "el disco 0 es ahora el disco seleccionado."

NOTA: Antes del siguiente paso, debo decirte que si continuas, borraras todo el disco duro, sin excepcion, por lo que recomiendo que realizes una copia, saques la informacion, como quieras hacerlo, porque una vez pases de aqui... borras toda la informacion.

 La siguiente orden es: clean, QUE BORRARA TU DISCO DURO, LO LIMPIARA, Seria identico a comprar un disco duro nuevo en cualquier tienda e instalarlo, no tendras particiones, datos ecct.
    


 Si vuelves a ejecutar list disk, tendras tu disco duro limpio y sin particiones ademas de no tener esa cruz en el apartado gpt, por lo que, cierra esa ventana, tranquilamente y vuelve a la ventana de instalando windows. y ahora si, podras instalar tu windows 7 trankilamente.





Anexo del Tutorial. (Instalacion dual de otro Sistema operativo).

    Si todo ha sido correcto, tienes tu ordenador, con un sistema operativo Windows 7, maravilloso verdad? Bien, pero puedes ser como yo un pequeño loco o algunos lo llaman friki o por necesidades de trabajo o estudio necesitas un sistema dual, pues bien, ahora que tiene Windows 7, puedes realizar una particion o varias e instalar windows 8, windows 8.1, un sistema linux, ecct.

   Debo informar a todos que si deseamos instalar otro sistema Windows, el propio programa de instalacion creara un menu de inicio dual, mientras que si es Linux, lo creara Grub, que es un programa que suele venir en las distribuciones linux, de igual manera si decides instalar linux, siempre, siempre, siempre, sera el ultimo. ¿porque? windows es muy celoso, y si al instalar un sistema operativo windows, encuentra alguna distribucion linux, elimina esa entrada y no nos permitira arrancar linux, por lo cual, siempre siempre, instala linux al final del proceso.

La forma de instalar, es muy sencilla, unicamente debemos realizar una particion:
1- Abre el Administrador de discos de Windows
Puedes hacerlo de dos formas:

-Ejecuta su acceso directo en:Mi PC, Administrar,Administracion de discos.
-Introduce en el cuadro de Inicio o Ejecutar: diskmgmt.msc y presiona la tecla Enter.

2- Da un clic en el volumen a reducir para seleccionarlo (asegurate que se muestre con rayas de fondo)


En el cuadro de dialogo para formatear podras escoger el sistema de archivos que tiene que ser NTFS (para windows) (EXT3 o EXT4 si es linux) y es opcional darle una etiqueta o nombre al volumen, aunque muy valioso para seleccionarla a la hora de instalar otro sistema operativo.


Una vez hecho esto, tenemos una particion en la cual podremos instalar Windows 8, Windows 8.1 o Ubuntu 14 por ejemplo.

El porque le ponemos un nombre caracteristico a esta particion es simple, cuando iniciemos el equipo con un dvd o pendrive booteable con el sistema operativo en cuestion, debemos seleccionar dicha particion y el mismo programa de instalacion de nuestro sistema operativo creara un menu dual, y nos permitira seleccionar el sistema operativo que deseamos ejecutar.

jueves, 29 de enero de 2015

Tipos de señales del comando KILL

  1. Ejecuta kill -l. E investiga el uso de las señales 9,15,18,19 y 20 de kill.
    Kill es un comando unix/linux que permite enviar señales a uno o varios procesos del sistemas a traves de la shell. El listado completo de las señales disponibles puede visualizarse ejecutando Kill -l. 
       
Pasaremos a explicar el uso de varias señales:
Kill -9: Nos permite forzar a uno o varios procesos que terminen de forma inmediata, sin solicitudes sin preguntas. Para ello se usa SIGKILL (9), esta señal se debe usar con cautela, porque fuerza a terminar inmediatamente, sin dejar terminar las peticiones pendientes de ese proceso.
Ejemplo: Realizamos una auditoria el cual aun tiene tareas pendientes, seleccionamos la señal SIGKILL (9) junto con el proceso gracias a <htop> y una vez ejecutemos la orden el proceso de auditoria sera terminado, aunque tuviera pendiente cualquier tipo de subproceso o tarea, dejando en la terminal donde se estaba ejecutando el proceso un mensaje como muestra la imagen. Terminado (killed).
  
 
Kill -15: Esta señal, es la señal por defecto si no se especifica ningun numero de señal, es decir tanto si escribimos Kill o Kill -15, el resultado sera el mismo, los procesos a los cuales se le envia esta señal, pueden limpiar su estado, es decir pueden guardar datos de la configuracion a un archivo antes de terminarse, su nombre segun la informacion del comando es SIGTERM (15). Es mas correcto usarlo pues no tenemos el problema de terminar procesos y perder informacion.


Kill -19: Esta señal, suspende un proceso, por lo que todavia figuraria en la lista de procesos y podriamos reanudarlo posteriormente, por ejemplo en la siguiente captura, se ha parado el proceso <htop> pero se puede ver que aun esta en la propia lista de procesos.
Kill -18: Esta señal nos permite reactivar el proceso que se ha suspendido anteriormente, ya que aun esta en la lista de procesos, se podria decir que revivimos al proceso.
Kill -20: Esta señal al igual que Kill -19 nos permite suspender un proceso el cual puede revivir con Kill -18 como ya se ha visto, pero tiene dos diferencias importantes, la primera que se puede mandar escribiendo el comando Kill -20 y el PDI del proceso o pulsando la tecla Control + Z teniendo seleccionado el proceso con el raton, ademas otra diferencia es que la señal SIGTSTP (Kill -20) puede ser ignorada mientras que Kill -19 no.
  1. Indica claramente la diferencia entre la 15 y la 9.
    Todos los procesos tienes un archivo de cabezera que contiene los pasos que deben seguir si recibe una señal en particular, si recibe la señal Kill -15, el proceso puede detenerse inmediatamente, o detenerse tras un breve retraso despues de limpieza de recursos. En cambio la señal Kill -9 la señal es enviada directamente a proceso padre <Init>, en ese momento Init detiene el proceso, dicho proceso nunca tiene la oportunidad de tomar la señal y actuar en consecuencia.
    En algunas ocasiones ni siquiera esta orden puede matar con exito los procesos que se le llama procesos zombi, y segun todas las fuentes solo reiniciando el equipo son borrados estos procesos del sistema.

  1. ¿Qué señal se lanza por defecto si no se especifica una?
    Cuando no se espeficia ninguna opcion es decir ejecutamos la orden:
    Kill [el numero del proceso que deseamos cerrar], se ejecuta igual que si tuvieramos la opcion numero 15 <SIGTERM>, es decir termina el proceso que le hemos indicado, lo mata, aunque seria mas correcto decir lo cierra.
    Ejemplo: Tenemos en un terminal ejecutandose <htop> el cual nos muestra el PDI del mismo proceso, en este caso el numero 2579, a su vez en otra terminal escribimos la orden <kill 2579>


Al darle a ejecutar, nos cerrara el proceso de <htop> dejando la terminal lista para ejecutar otro comando. Este comportamiento es identico al que realizaria la orden <kill -15 2579>.
 

  1. Pon un ejemplo claro de uso para las señales 9,15,18,19,20
Los ejemplos son variados, ademas de las capturas para la pregunta numero 1, se puede añadir por ejemplo, si estamos usando el programa wireshark para capturar informacion de nuestra red, podemos usar Kill -19 para suspender este proceso y mantenerlo dormido para que no capture informacion que no deseamos o no nos interesa, tambien podriamos usar Kill -20 pero como ya hemos indicado no es 100% seguro que suspendiera el proceso pero mas comodo al no tener que escribir el comando sino pulsar Control + Z.
Podemos usar en el mismo ejemplo de antes el Comando Kill -18 y reanudar el proceso wireshark y seguir capturando paquetes de nuestra red.

Usariamos Kill -15 cuando algun proceso no responde a la formas normales de cerrar, un navegador que tenemos varias ventanas abiertas y esta relentizando nuestro equipo. Si usando Kill -15 no respondiera el navegador siguiera relentizando el equipo, usaria Kill -9 que mataria el proceso sin ningun tipo de espera.