martes, 11 de noviembre de 2014
martes, 4 de noviembre de 2014
jueves, 9 de octubre de 2014
Sentencias alternativas y ciclos en PHP
Una sentencia alternativa es la que ejecuta una instrucción si se cumple determinada condición. Un ejemplo de una sentencia simple con if:
<?php
$n = 1;
$r = 2;
if ($n < $r) {
echo "$n es menor que $r.";
}
?>
If lo que hace es comprobar una condición y si se cumple, ejecuta la instrucción que hay dentro. Si no, el programa seguirá ejecutando las instrucciones sin modificar nada.
Una sentencia alternativa doble es aquella que utiliza dos condiciones. Si la primera es verdadera, no se ejecuta la segunda y viceversa. Ejemplo:
<?php
$n = 2;
$r = 5;
if ($n > $r) {
echo "$n es mayor que $r.";
} else {
echo "$n es menor o igual que $r.";
}
?>
El programa comprueba si un número es mayor que otro. Si n es mayor que r, ejecuta la primera instrucción. Si n es menor que r, ejecuta la segunda. Else es lo mismo que decir "Si la condición anterior es falsa, ejecutar lo siguiente."
Una sentencia alternativa múltiple es la que utiliza más de dos condiciones. En este caso, el programa va buscando una condición que se cumpla. Un ejemplo con switch:
<?php
$anyo = 2014;
$mes = 10;
switch ($mes) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
$dias = 31;
break;
case 4:
case 6:
case 9:
case 11:
$dias = 30;
break;
default:
$dias = 28;
}
if ($mes = 2 && ((($anyo%4)==0) && (($anyo%100)!=0)) || (($anyo%400)==0))) {
$dias = 29;
}
printf("El mes $mes del año $anyo tiene $dias dias");
?>
El programa comprueba cuántos días tiene el mes indicado del año indicado. Si el mes tiene uno de los valores antes del primer break (fin de la condición), tiene 31 días. Si su valor es uno de los siguientes, tendrá 30 y si no tiene ninguno de esos valores, se le pondrá el del default (por defecto), 28 días. La sentencia if comprueba si es año bisiesto. Si $mes tiene el valor 2 y además es año bisiesto, tendrá 29 días.
Un bucle o ciclo es una sentencia que se realiza repetidas veces a un trozo aislado de código, hasta que la condición asignada a dicho bucle deje de cumplirse. Se usa para hacer una acción repetida sin tener que escribir varias veces el mismo código, lo que ahorra tiempo, deja el código más claro y facilita su modificación en el futuro.
Hay cuatro tipos de bucles en PHP:
Un acumulador es un registro donde se almacenan los resultados lógicos y aritméticos intermedios. Sin un registro acumulador, sería necesario escribir el resultado de cada operación en la memoria primaria. Acceder a la memoria primaria es más lento que acceder a un registro acumulador.
<?php
$n = 1;
$r = 2;
if ($n < $r) {
echo "$n es menor que $r.";
}
?>
If lo que hace es comprobar una condición y si se cumple, ejecuta la instrucción que hay dentro. Si no, el programa seguirá ejecutando las instrucciones sin modificar nada.
Una sentencia alternativa doble es aquella que utiliza dos condiciones. Si la primera es verdadera, no se ejecuta la segunda y viceversa. Ejemplo:
<?php
$n = 2;
$r = 5;
if ($n > $r) {
echo "$n es mayor que $r.";
} else {
echo "$n es menor o igual que $r.";
}
?>
El programa comprueba si un número es mayor que otro. Si n es mayor que r, ejecuta la primera instrucción. Si n es menor que r, ejecuta la segunda. Else es lo mismo que decir "Si la condición anterior es falsa, ejecutar lo siguiente."
Una sentencia alternativa múltiple es la que utiliza más de dos condiciones. En este caso, el programa va buscando una condición que se cumpla. Un ejemplo con switch:
<?php
$anyo = 2014;
$mes = 10;
switch ($mes) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
$dias = 31;
break;
case 4:
case 6:
case 9:
case 11:
$dias = 30;
break;
default:
$dias = 28;
}
if ($mes = 2 && ((($anyo%4)==0) && (($anyo%100)!=0)) || (($anyo%400)==0))) {
$dias = 29;
}
printf("El mes $mes del año $anyo tiene $dias dias");
?>
El programa comprueba cuántos días tiene el mes indicado del año indicado. Si el mes tiene uno de los valores antes del primer break (fin de la condición), tiene 31 días. Si su valor es uno de los siguientes, tendrá 30 y si no tiene ninguno de esos valores, se le pondrá el del default (por defecto), 28 días. La sentencia if comprueba si es año bisiesto. Si $mes tiene el valor 2 y además es año bisiesto, tendrá 29 días.
Un bucle o ciclo es una sentencia que se realiza repetidas veces a un trozo aislado de código, hasta que la condición asignada a dicho bucle deje de cumplirse. Se usa para hacer una acción repetida sin tener que escribir varias veces el mismo código, lo que ahorra tiempo, deja el código más claro y facilita su modificación en el futuro.
Hay cuatro tipos de bucles en PHP:
- While: Primero evalua que la condición sea verdadera y luego
se ejecuta (precondición), hasta que la condición pase a ser falsa.
Puede que no se ejecute ninguna vez si su condición es inicialmente
falsa. Ejemplo:
<?php$i = 1;while ($i <= 10) {echo "$i";$i++;}?>
Este ejemplo inicializa una variable a 1 y luego pone la condición de que si la variable $i es menor o igual que 10, escribe el valor actual de la variable y luego le suma 1. La instrucción se repite hasta que $i pase de 10. Cuando pasa de 10, se termina el programa. Es "Mientras $i sea menor o igual que 10, escribir su valor actual y sumarle 1". - Do... While: Su uso es similar a while, pero aquí, las sentencias que siguen al do
se ejecutan por lo menos una vez y se comprueba la condición después de
la primera iteración. Así, si es verdadera la condición se repite por
segunda vez, si es falsa se continúa con las sentencias inmediatamente
después de la instrucción while. Ejemplo:
<?php$i = 1;do {echo "$i";
$i++;} while ($i <= 10);?>
Este ejemplo hace lo mismo que el anterior, solo que ahora primero se pone la instrucción a ejecutar y luego la condición. Es "escribir el valor de $i y sumarle 1 mientras que $i sea menor o igual que 10" (postcondición). - For: Los bucles for son los más complejos en PHP. Tienen la siguiente estructura:
- Inicialización: Es una expresión que se ejecuta sólo una vez al inicio y predetermina el primer valor inicial.
- Condición: Es una expresión que se evalúa como falsa o verdadera, si es falsa el bucle finaliza, en caso contrario el bucle ejecuta la sentencia.
- Actualización: Es una expresión que modifica la expresión de inicialización comúnmente en incremento o decremento.
<?php$i = 1;for ($i = 10) {echo "$i";
$i++;}?>
Este bucle es similar al bucle while. - Foreach: Funciona sólo en arrays y presenta un error al
utilizar una variable con diferente tipo o no inicializada. Es un buen
método de iteración de objetos y arrays. Ejemplo:
<?php$array = array(1, 2, 3, 4);
foreach ($array as &$valor) {
$valor = $valor * 2;
}
// $array ahora es array(2, 4, 6, 8)
unset($valor); // rompe la referencia con el último elemento
?>
Ciclo iterar: En este ciclo la condición va en medio del bucle, si es verdadera sale del bucle. Ejemplo:
<?php
$n = 3;
while ($n <= 10) {
if ($n == 10) {
break;
}
echo "n es igual a $n";
$n++;
}
?>
En este ciclo hay una segunda condición en medio del while. El programa ejecutará lo que hay dentro del while si n es menor o igual que 10. El if comprueba si n es igual a 10. Si es cierto, rompe con la ejecución del ciclo (break). Si no lo es, sigue el bucle while, escribe su valor actual y le suma 1 y vuelta a empezar. Esto se hará hasta que n valga 10, en ese caso se ejecutará lo que hay dentro del if.
Un acumulador es un registro donde se almacenan los resultados lógicos y aritméticos intermedios. Sin un registro acumulador, sería necesario escribir el resultado de cada operación en la memoria primaria. Acceder a la memoria primaria es más lento que acceder a un registro acumulador.
Un
contador es una variable cuyo valor se incrementa o decrementa en una
cantidad constante cada vez que se produce un determinado suceso o
acción. Se usan con la finalidad de contar sucesos o acciones internas
de un bucle; deben realizar una operación de inicialización y posteriormente las sucesivas de incremento o decremento del mismo. La inicialización consiste en asignarle al contador un valor inicial. Se situará antes y fuera del bucle.
viernes, 7 de marzo de 2014
Google Cloud Print
Google Cloud Print es una nueva tecnología que conecta las impresoras a la Web.
Mediante Google Cloud Print, puedes utilizar la impresora que quieras desde las
aplicaciones que utilizas a diario. Google Cloud Print funciona en el teléfono,
tablet, Chromebook, ordenador y cualquier otro dispositivo conectado a Internet desde
el que se quiera imprimir.
¿Cómo funciona Google Cloud Print?
Cuando alguien imprime a través de Google Cloud Print, el archivo se envía de forma segura a la impresora a través de Internet. Al estar basado en la Web, no importa lo lejos que esté la impresora. Tampoco importa si estamos conectados a través de un teléfono, ordenador u otro dispositivo.
Prueba de impresión
En la página http://www.google.com/landing/cloudprint/index.html le damos a Añadir impresorsa clásica oen la nube, según si nuestra impresora esta preparada para ello o no. La mía es clásica, así que es necesario conectarla al ordenador. Para poder añadirla necesitamos tener Google Chrome.
Una vez que se haya instalado Google Chrome, hay que seguir estos pasos para habilitar el conector de Google Cloud Print en el navegador.
Otras alternativas a Google Cloud Print
Fuentes: http://www.google.es/cloudprint/learn/
http://es.kioskea.net/faq/4834-las-soluciones-de-impresion-desde-la-nube
¿Cómo funciona Google Cloud Print?
Cuando alguien imprime a través de Google Cloud Print, el archivo se envía de forma segura a la impresora a través de Internet. Al estar basado en la Web, no importa lo lejos que esté la impresora. Tampoco importa si estamos conectados a través de un teléfono, ordenador u otro dispositivo.
Prueba de impresión
En la página http://www.google.com/landing/cloudprint/index.html le damos a Añadir impresorsa clásica oen la nube, según si nuestra impresora esta preparada para ello o no. La mía es clásica, así que es necesario conectarla al ordenador. Para poder añadirla necesitamos tener Google Chrome.
Una vez que se haya instalado Google Chrome, hay que seguir estos pasos para habilitar el conector de Google Cloud Print en el navegador.
- Iniciar sesión en la cuenta de usuario en el ordenador Windows, Mac o Linux.
- Abrir Google Chrome.
- Hacer clic en el menú de Chrome
en la barra de herramientas del navegador.
- Seleccionar Configuración.
- Hacer clic en el enlace Mostrar opciones avanzadas....
- Desplazarse hasta la sección “Google Cloud Print”. Hacer clic en Iniciar sesión en Google Cloud Print.
- En la ventana que aparece, iniciar sesión en la cuenta de Google para habilitar el conector de Google Cloud Print.
- Seleccionar las impresoras que se van a conectar y hacer clic en Añadir impresoras.
- Aparecerá un mensaje para confirmar que se ha habilitado Google Cloud Print. Hacer clic en la opción para administrar las impresoras para obtener más información.
Otras alternativas a Google Cloud Print
- Cloud Print para Android: Permite imprimir documentos de texto, imágenes, SMS, correos electrónicos o imágenes escaneadas. Simplemente navega hasta el documento que necesites, selecciona la impresora e imprime. Además de impresoras, Cloud Print es capaz de seleccionar impresión como documento de Google Docs o PDF.
- EPrint de HP: La solución HP asocia a las nuevas impresoras una dirección e-mail personalizada. Gracias a este sistema, será posible controlar las impresoras HP de manera remota, con el simple envío de un email. Podrán ser imprimidos cualquier tipo de documentos: archivos Microsoft Office, documentos PDF, imágenes en JPEG.
- Pogoplug: Es especializado en la fabricación de equipos que permiten transformar cualquier disco duro externo USB 2.0 en NAS (Network Attached Storage). El usuario puede compartir con sus colaboradores cualquier tipo de contenido desde un simple navegador web.
En el mismo sentido, la empresa americana ofrece integrar a su dispositivo Pogoplug un sistema de impresión desde la nube, compatible con todas las impresoras y terminales (Windows, Linux, Mac OSX, iOS, Android, Blackberry, Palm WebOS).
Fuentes: http://www.google.es/cloudprint/learn/
http://es.kioskea.net/faq/4834-las-soluciones-de-impresion-desde-la-nube
lunes, 27 de enero de 2014
Administración remota en Windows
En esta entrada hablaré de lo mismo que en la anterior, pero en Windows.
Acceso al sistema en modo texto
En Windows, podemos acceder al sistema en modo texto mediante Telnet o SSH. Telnet emula una terminal remota y opera en el entorno cliente/servidor, significa que el equipo remoto se configura como servidor y espera que el otro equipo le solicite un servicio.
Comando para establecer una conexion Telnet: open u o
Comando para cerrar una conexión Telnet: close o c
Comando para ver la configuración actual del cliente: display
Comando para salir de Telnet: quit o q
Comando para configurar algunas características: set
SSH es un protocolo TCP que sirve para acceder a máquinas remotas en modo texto o gráfico a través de una red. Con esto se puede manejar totalmente un equipo desde consola o modo gráfico y nos permite copiar datos de un equipo a otro de forma segura.
Escritorio remoto
Windows XP incorpora el servicio de Terminal Server (escritorio remoto) de forma limitada a una única conexión. Esta tecnología permite que podamos disponer de nuestro equipo desde cualquier parte del mundo con una simple conexión a Internet.
En Windows 2008 Server está la funcion Terminal Services (servicios de escritorio remoto). Estos servicios requieres tres componenetes: un servidor de Terminal Server, un cliente de Terminal Server y el protocolo de escritorio remoto.
Para que dos equipos Windows puedan conectarse mediante Terminal Server, es necesario añadirlo en excepciones del cortafuegos o desactivarlo directamente.
En Windows 2008 Server, instalamos el servicio y elegimos un usuario para darle permisos de escritorio remoto. En XP, vamos a Inicio, Todos los programas, Accesorios, Comunicaciones, Conexión a escritorio remoto. Escribimos el nombre del servidor o su IP y el usuario con el que queremos conectarnos, que será al que le dimos permisos.
Protocolos de acceso remoto y puertos implicados
Telnet es un protocolo TCP/IP sin cifrado que utiliza el puerto 23.
SSH es un protocolo TCP/IP con cifrado que utiliza el puerto 22.
Escritorio remoto utiliza el puerto 3389.
VNC: El cliente utiliza el puerto 5900 del servidor y el servidor utiliza el 5500 para escuchar.
Herramientas gráficas externas para la administración remota
PuTTY: Es un emulador gratuito de terminal que soporta SSH y muchos otros protocolos. Es muy útil para conectar por SSH a un servidor Linux.
VNC: Aplicación gratuita y de código abierto que permite acceso remoto a través de un escritorio remoto de otro ordenador a través de la red. Permite controlar de forma remota enviando eventos como las pulsaciones del teclado y los movimientos y clicks del ratón
TeamViewer: Es un programa para compartir escritorio y transferir archivos entre ordenadores.
Fuentes: http://windows.microsoft.com/es-es/windows/telnet-commands#1TC=windows-7
http://es.wikipedia.org/wiki/Terminal_Services
Acceso al sistema en modo texto
En Windows, podemos acceder al sistema en modo texto mediante Telnet o SSH. Telnet emula una terminal remota y opera en el entorno cliente/servidor, significa que el equipo remoto se configura como servidor y espera que el otro equipo le solicite un servicio.
Comando para establecer una conexion Telnet: open u o
Comando para cerrar una conexión Telnet: close o c
Comando para ver la configuración actual del cliente: display
Comando para salir de Telnet: quit o q
Comando para configurar algunas características: set
SSH es un protocolo TCP que sirve para acceder a máquinas remotas en modo texto o gráfico a través de una red. Con esto se puede manejar totalmente un equipo desde consola o modo gráfico y nos permite copiar datos de un equipo a otro de forma segura.
Escritorio remoto
Windows XP incorpora el servicio de Terminal Server (escritorio remoto) de forma limitada a una única conexión. Esta tecnología permite que podamos disponer de nuestro equipo desde cualquier parte del mundo con una simple conexión a Internet.
En Windows 2008 Server está la funcion Terminal Services (servicios de escritorio remoto). Estos servicios requieres tres componenetes: un servidor de Terminal Server, un cliente de Terminal Server y el protocolo de escritorio remoto.
Para que dos equipos Windows puedan conectarse mediante Terminal Server, es necesario añadirlo en excepciones del cortafuegos o desactivarlo directamente.
En Windows 2008 Server, instalamos el servicio y elegimos un usuario para darle permisos de escritorio remoto. En XP, vamos a Inicio, Todos los programas, Accesorios, Comunicaciones, Conexión a escritorio remoto. Escribimos el nombre del servidor o su IP y el usuario con el que queremos conectarnos, que será al que le dimos permisos.
Protocolos de acceso remoto y puertos implicados
Telnet es un protocolo TCP/IP sin cifrado que utiliza el puerto 23.
SSH es un protocolo TCP/IP con cifrado que utiliza el puerto 22.
Escritorio remoto utiliza el puerto 3389.
VNC: El cliente utiliza el puerto 5900 del servidor y el servidor utiliza el 5500 para escuchar.
Herramientas gráficas externas para la administración remota
PuTTY: Es un emulador gratuito de terminal que soporta SSH y muchos otros protocolos. Es muy útil para conectar por SSH a un servidor Linux.
VNC: Aplicación gratuita y de código abierto que permite acceso remoto a través de un escritorio remoto de otro ordenador a través de la red. Permite controlar de forma remota enviando eventos como las pulsaciones del teclado y los movimientos y clicks del ratón
TeamViewer: Es un programa para compartir escritorio y transferir archivos entre ordenadores.
Fuentes: http://windows.microsoft.com/es-es/windows/telnet-commands#1TC=windows-7
http://es.wikipedia.org/wiki/Terminal_Services
Administración remota en GNU/Linux
En esta entrada hablaré sobre la administración remota en GNU/Linux. Se considera Administración Remota a la funcionalidad de algunos programas que permiten realizar ciertos tipos de acciones desde un equipo local y que las mismas se ejecuten en un equipo remoto.
Ascceso al sistema en modo texto
En Linux, podemos acceder al sistema en modo texto mediante Telnet o SSH. Telnet emula una terminal remota y opera en el entorno cliente/servidor, significa que el equipo remoto se configura como servidor y espera que el otro equipo le solicite un servicio. El comando para acceder a Telnet es: $ telnet dirección_host [puerto] (el puerto por defecto es el 23).
SSH es un protocolo TCP que sirve para acceder a máquinas remotas en modo texto o gráfico a través de una red. Con esto se puede manejar totalmente un equipo desde consola o modo gráfico y nos permite copiar datos de un equipo a otro de forma segura.
Para instalar SSH se usa el comando $ apt-get install ssh
Los archivos de configuración son /etc/ssh/ssh_config (archivo de configuración del cliente) y /etc/ssh/sshd_config (archivo de configuración del servidor).
Para acceder a un equipo por SSH se usa el comando $ ssh usuario@dirección_ip
Escritorio remoto
Podemos usar Vino y Vinagre. Vino es la aplicación que se usa como servidor VNC y Vinagre es la aplicación de Gnome para ver escritorios remotos. Para instalar Vino se usa el comando $ apt-get install vino y para instalar Vinagre, $ apt-get install vinagre . Para modificar las preferencias de cada programa: $ vino-preferences y $ vinagre para entrar al cliente. Introducimos la IP del servidor Vino y ya está.
Protocolos de acceso remoto y puertos implicados
Telnet es un protocolo TCP/IP sin cifrado que utiliza el puerto 23.
SSH es un protocolo TCP/IP con cifrado que utiliza el puerto 22.
Escritorio remoto utiliza el puerto 3389.
VNC: El cliente utiliza el puerto 5900 del servidor y el servidor utiliza el 5500 para escuchar.
Herramientas gráficas externas para la administración remota
TeamViewer: Es un programa para compartir escritorio y transferir archivos entre ordenadores.
FreeNX: Realiza conexiones remotas X11 muy rápidas, lo que permite a los usuarios acceder a escritorios remotos de Linux bajo conexiones lentas. Realiza una compresión directa del protocolo X11, lo que permite una mayor eficiencia que VNC. La información se envía mediante el protocolo SSH para más seguridad.
Webmin: Es una herramienta de configuración de sistemas a traves de la web. Se pueden configurar muchos aspectos internos de sistemas operativos, usuarios, cuotas de espacio, servicios, archivos de configuración, etc. También puede controlar aplicaciones como Apache, Samba, PHP, DHCP, DNS, etc.
Citrix: Virtualiza servidores, estaciones de trabajo y aplicaciones, los centraliza en el centro de datos y los distribuye en forma de servicios bajo demanda.
Vino: Servidor VNC que permite la conexión del servidor remoto a nuestro escritorio.
Fuentes: http://www.edu.xunta.es/centros/abalar/aulavirtual/file.php/19/ModuloGNULinux/equivalencias2/administracin_remota.html
http://www.esdebian.org/wiki/vino-vinagre
Ascceso al sistema en modo texto
En Linux, podemos acceder al sistema en modo texto mediante Telnet o SSH. Telnet emula una terminal remota y opera en el entorno cliente/servidor, significa que el equipo remoto se configura como servidor y espera que el otro equipo le solicite un servicio. El comando para acceder a Telnet es: $ telnet dirección_host [puerto] (el puerto por defecto es el 23).
SSH es un protocolo TCP que sirve para acceder a máquinas remotas en modo texto o gráfico a través de una red. Con esto se puede manejar totalmente un equipo desde consola o modo gráfico y nos permite copiar datos de un equipo a otro de forma segura.
Para instalar SSH se usa el comando $ apt-get install ssh
Los archivos de configuración son /etc/ssh/ssh_config (archivo de configuración del cliente) y /etc/ssh/sshd_config (archivo de configuración del servidor).
Para acceder a un equipo por SSH se usa el comando $ ssh usuario@dirección_ip
Escritorio remoto
Podemos usar Vino y Vinagre. Vino es la aplicación que se usa como servidor VNC y Vinagre es la aplicación de Gnome para ver escritorios remotos. Para instalar Vino se usa el comando $ apt-get install vino y para instalar Vinagre, $ apt-get install vinagre . Para modificar las preferencias de cada programa: $ vino-preferences y $ vinagre para entrar al cliente. Introducimos la IP del servidor Vino y ya está.
Protocolos de acceso remoto y puertos implicados
Telnet es un protocolo TCP/IP sin cifrado que utiliza el puerto 23.
SSH es un protocolo TCP/IP con cifrado que utiliza el puerto 22.
Escritorio remoto utiliza el puerto 3389.
VNC: El cliente utiliza el puerto 5900 del servidor y el servidor utiliza el 5500 para escuchar.
Herramientas gráficas externas para la administración remota
TeamViewer: Es un programa para compartir escritorio y transferir archivos entre ordenadores.
FreeNX: Realiza conexiones remotas X11 muy rápidas, lo que permite a los usuarios acceder a escritorios remotos de Linux bajo conexiones lentas. Realiza una compresión directa del protocolo X11, lo que permite una mayor eficiencia que VNC. La información se envía mediante el protocolo SSH para más seguridad.
Webmin: Es una herramienta de configuración de sistemas a traves de la web. Se pueden configurar muchos aspectos internos de sistemas operativos, usuarios, cuotas de espacio, servicios, archivos de configuración, etc. También puede controlar aplicaciones como Apache, Samba, PHP, DHCP, DNS, etc.
Citrix: Virtualiza servidores, estaciones de trabajo y aplicaciones, los centraliza en el centro de datos y los distribuye en forma de servicios bajo demanda.
Vino: Servidor VNC que permite la conexión del servidor remoto a nuestro escritorio.
Fuentes: http://www.edu.xunta.es/centros/abalar/aulavirtual/file.php/19/ModuloGNULinux/equivalencias2/administracin_remota.html
http://www.esdebian.org/wiki/vino-vinagre
viernes, 24 de enero de 2014
Planificación de tareas en Windows
En esta entrada pondré un PDF sobre la planificación de tareas en Windows.
https://drive.google.com/file/d/0B2vPQwKY9ZZieExraWFyY3VsNG8/edit?usp=sharing
https://drive.google.com/file/d/0B2vPQwKY9ZZieExraWFyY3VsNG8/edit?usp=sharing
martes, 14 de enero de 2014
Linux: Inittab y Upstart
En esa entrada voy a hablar sobre Inittab y Upstart.
El fichero /etc/inittab
¿Qué es?
Después del kernel, el primer programa que se ejecuta en el sistema es init. Es el encargado de lanzar los scripts de inicialización del sistema y de modificar el sistema operativo de su estado inicial de arranque al estado de multiusuario. Tambien especifica otras características del arranque y apagado. Es un demonio y por lo general tiene PID 1.
En el fichero /etc/inittab se definen todas las tareas que realiza. Modificar este fichero de forma incorrecta puede impedir registrarse en el sistema.
El programa init pasa a través de una serie de niveles de ejecución, que corresponden a varios estados del sistema. Al nivel de ejecución 1 se entra inmediatamente después de iniciar el sistema, los niveles 2 y 3 son los modos de operación del sistema normal y multiusuario respectivamente, el nivel 4 lanza el sistema X Window a través del X display manager xdm y el nivel 6 reinicia el sistema. Los niveles de ejecución asociados a cada orden, son el segundo término de cada línea del fichero /etc/inittab.
¿Qué distribuciones de GNU/Linux lo usan?
Las distribuciones GNU/Linux donde se usa inittab son Debian y sistemas Solaris.
Tutorial de inittab
Al abrir el archivo /etc/inittab nos mostrará algo parecido a esto:
Las líneas de texto dentro del archivo constan de cuatro campos delimitados por dos puntos:
"id:runlevesl:action:process", donde:
La primera línea no comentada es "id:2:initdefault:". Significa que el sistema iniciará en el nivel 2. Para que inicie en el modo de operación del sistema multiusuario basta con cambiar el 2 por el 3.
Upstart
¿Qué es?
Upstart es el reemplazo basado en eventos para el demonio init. Trabaja de forma asíncrona supervisando las tareas mientras el sistema está arrancando. También gestiona las tareas y servicios de inicio cuando el sistema arranca y los detiene cuando el sistema se apaga.
El demonio init tradicional es estrictamente síncrono, bloqueando futuras tareas hasta que la actual se haya completado. Sus tareas deben ser definidas por adelantado, y solo pueden ser ejecutadas cuando el demonio init cambia de estado (cuando la máquina se arranca o se apaga). Esto hace que no sea capaz de manejar de forma elegante varias tareas en computadoras de escritorio modernas, incluyendo:
¿Qué distribuciones de GNU/Linux lo usan?
Las distribuciones GNU/Linux que usan Upstart son Ubuntu a partir de la versión 6.10, Maemo 5 y Fedora.
Tutorial de Upstart
En la ruta /etc/init se encuentran todos los ficheros iniciados por Upstart.
Fuentes: http://ftp.nluug.nl/ibiblio/docs/LuCaS/Manuales-LuCAS/LIPP2/lipp-2.0-beta-html/node285.html
http://es.wikipedia.org/wiki/Init
http://www.ibiblio.org/pub/linux/docs/LDP/system-admin-guide/translations/es/html/ch09s02.html
http://es.wikipedia.org/wiki/Upstart
El fichero /etc/inittab
¿Qué es?
Después del kernel, el primer programa que se ejecuta en el sistema es init. Es el encargado de lanzar los scripts de inicialización del sistema y de modificar el sistema operativo de su estado inicial de arranque al estado de multiusuario. Tambien especifica otras características del arranque y apagado. Es un demonio y por lo general tiene PID 1.
En el fichero /etc/inittab se definen todas las tareas que realiza. Modificar este fichero de forma incorrecta puede impedir registrarse en el sistema.
El programa init pasa a través de una serie de niveles de ejecución, que corresponden a varios estados del sistema. Al nivel de ejecución 1 se entra inmediatamente después de iniciar el sistema, los niveles 2 y 3 son los modos de operación del sistema normal y multiusuario respectivamente, el nivel 4 lanza el sistema X Window a través del X display manager xdm y el nivel 6 reinicia el sistema. Los niveles de ejecución asociados a cada orden, son el segundo término de cada línea del fichero /etc/inittab.
¿Qué distribuciones de GNU/Linux lo usan?
Las distribuciones GNU/Linux donde se usa inittab son Debian y sistemas Solaris.
Tutorial de inittab
Al abrir el archivo /etc/inittab nos mostrará algo parecido a esto:
Las líneas de texto dentro del archivo constan de cuatro campos delimitados por dos puntos:
"id:runlevesl:action:process", donde:
- id: Identifica a la línea dentro del archivo.
- runlevels: Los niveles de ejecución en los cuales la línea debe ser considerada.
- action: Define la manera en que debe ser tratada la línea.
- process. El comando a ejecutar.
La primera línea no comentada es "id:2:initdefault:". Significa que el sistema iniciará en el nivel 2. Para que inicie en el modo de operación del sistema multiusuario basta con cambiar el 2 por el 3.
Upstart
¿Qué es?
Upstart es el reemplazo basado en eventos para el demonio init. Trabaja de forma asíncrona supervisando las tareas mientras el sistema está arrancando. También gestiona las tareas y servicios de inicio cuando el sistema arranca y los detiene cuando el sistema se apaga.
El demonio init tradicional es estrictamente síncrono, bloqueando futuras tareas hasta que la actual se haya completado. Sus tareas deben ser definidas por adelantado, y solo pueden ser ejecutadas cuando el demonio init cambia de estado (cuando la máquina se arranca o se apaga). Esto hace que no sea capaz de manejar de forma elegante varias tareas en computadoras de escritorio modernas, incluyendo:
- La conexión o desconexión de una memoria USB y otros medios de almacenamiento portables / dispositivos de red mientras la máquina está arrancada.
- El descubrimiento y exploración de nuevos dispositivos de almacenamiento, sin bloquear el sistema, especialmente cuando un disco puede no encenderse hasta que este es explorado.
- La carga de firmware para un dispositivo, lo cual podría tener que realizarse después de sea detectado pero antes de que sea utilizable.
¿Qué distribuciones de GNU/Linux lo usan?
Las distribuciones GNU/Linux que usan Upstart son Ubuntu a partir de la versión 6.10, Maemo 5 y Fedora.
Tutorial de Upstart
En la ruta /etc/init se encuentran todos los ficheros iniciados por Upstart.
Fuentes: http://ftp.nluug.nl/ibiblio/docs/LuCaS/Manuales-LuCAS/LIPP2/lipp-2.0-beta-html/node285.html
http://es.wikipedia.org/wiki/Init
http://www.ibiblio.org/pub/linux/docs/LDP/system-admin-guide/translations/es/html/ch09s02.html
http://es.wikipedia.org/wiki/Upstart
viernes, 10 de enero de 2014
Procesos en Windows 2008 Server: Comandos TASKLIST y TASKKILL y el Administrador de Tareas
Para usar estas comandos es necesario abrir la consola de Windows en Inicio, Ejecutar y escribiendo "cmd" sin las comillas en el cuadro de texto.
Comando TASKLIST
¿Para qué sirve?
Muestra todos los procesos ejecutándose en el equipo con el número de identidad del proceso (PID). Basta con introducirlo seguido del parámetro necesario. Si se usa sin ninguna opción muestra algo similar a la imagen.
Voy a explicar lo que muestra cada columna:
Donde:
Ejemplo: Ver información detallada de las aplicaciones ejecutándose en el equipo:
TASKLIST /SVC /FI "STATUS eq running"
"STATUS eq running" significa que el estado del proceso tiene que ser "corriendo".
Mostrar todas las tareas que están usando el módulo ntdll.dll:
TASKLIST /M ntdll.dll
Comando TASKKILL
¿Para qué sirve?
Permite detener tareas o procesos usando el PID o el nombre del proceso.
Parámetros a usar con TASKKILL
TASKKILL /F /IM notepad.exe
Primero he ejecutado el comando TASKLIST /FI "STATUS eq running" para comprobar los procesos que se estban ejecutando en ese momento. Aparece el proceso notepad.exe correspondiente al Bloc de Notas. Después he ejecutado el comando para forzar a terminar el proceso.
Modo gráfico: Administrador de Tareas
El Administrador de Tareas de Windows es una herramienta muy conocida que sirve para iniciar programas, finalizar procesos y supervisar el rendimiento del equipo.
Podemos iniciar el Administrador de Tareas con la secuencia de teclas CTRL+ALT+SUPR. Nos saldráuna pantalla azul con varias opciones. Elegimos Ejecutar el Administrador de Tareas.
Voy a explicar cada una de las pestañas que aparecen:
Tambien podemos cambiar la prioridad de algún proceso. Basta con hacer click derecho sobre uno de ellos y le damos a Establecer prioridad. Esto hará que se destinen más o menos recursos al proceso. Si queremos codificar un vídeo en menos tiempo, podemos poner la prioridad en Alta para que pueda usar más procesador y memoria. No es recomendable poner la prioridad en Tiempo real porque desestabiliza el sistema.
Fuentes: http://norfipc.com/comandos/como-usar-comandos-tasklist-taskkill-windows.php
http://www.comtecknet.com/2011/06/20/comandos-batch-tasklist/
http://articulos.softonic.com/administrador-de-tareas
Comando TASKLIST
¿Para qué sirve?
Muestra todos los procesos ejecutándose en el equipo con el número de identidad del proceso (PID). Basta con introducirlo seguido del parámetro necesario. Si se usa sin ninguna opción muestra algo similar a la imagen.
Voy a explicar lo que muestra cada columna:
- Nombre de imagen: Es el nombre del proceso que se está ejecutando.
- PID: Número de identidad del proceso. Por defecto, los procesos aparecen ordenados por su PID.
- Nombre de sesión: Indica en qué sesión se ha producido la ejecución. Puede ser Services o Console.
- Número de sesión: Indica en cuántas sesiones está iniciado el proceso.
- Uso de memoria: Es la cantidad de memoria que necesita o está utilizando el proceso para ser ejecutado correctamente.
- TASKLIST /V: Muestra información detallada de cada proceso.
- TASKLIST /SVC: Muestra información adicional de los servicios hospedados en cada proceso.
- TASKLIST /M módulo: Muestra todas las tareas que usan un módulo DLL o EXE especificado. Si no se indica el módulo se muestran todos los módulos cargados.
- TASKLIST /FO formato: Especifica el formato de salida. Puede ser TABLE, LIST o CSV.
- TASKLIST /NH: Si se usan los formatos TABLE y CSV, especifica que el encabezado de columna no se debe mostrar.
- TASKLIST /FI filtro: Filtra la información que se solicita con un criterio especificado. Hay varios tipos de filtro:
Donde:
- eq: Igual que
- ne: No igual
- gt: Mayor que
- lt: Menor o igual que
- ge: Mayor o igual que
- le: Menor que
Ejemplo: Ver información detallada de las aplicaciones ejecutándose en el equipo:
TASKLIST /SVC /FI "STATUS eq running"
"STATUS eq running" significa que el estado del proceso tiene que ser "corriendo".
Mostrar todas las tareas que están usando el módulo ntdll.dll:
TASKLIST /M ntdll.dll
Comando TASKKILL
¿Para qué sirve?
Permite detener tareas o procesos usando el PID o el nombre del proceso.
Parámetros a usar con TASKKILL
- TASKKILL /PID identidadProceso: Detiene un proceso especificando el PID.
- TASKKILL /IM nombreTarea: Detiene un proceso especificando su nombre.
- TASKKILL /FI filtro: Permite usar un filtro para seleccionar varios procesos al mismo tiempo.
- TASKKILL /T: Termina un proceso y todos los procesos secundarios iniciados por él.
- TASKKILL /F: Especifica que se debe terminar un proceso de forma forzada.
TASKKILL /F /IM notepad.exe
Primero he ejecutado el comando TASKLIST /FI "STATUS eq running" para comprobar los procesos que se estban ejecutando en ese momento. Aparece el proceso notepad.exe correspondiente al Bloc de Notas. Después he ejecutado el comando para forzar a terminar el proceso.
Modo gráfico: Administrador de Tareas
El Administrador de Tareas de Windows es una herramienta muy conocida que sirve para iniciar programas, finalizar procesos y supervisar el rendimiento del equipo.
Podemos iniciar el Administrador de Tareas con la secuencia de teclas CTRL+ALT+SUPR. Nos saldráuna pantalla azul con varias opciones. Elegimos Ejecutar el Administrador de Tareas.
Voy a explicar cada una de las pestañas que aparecen:
- Aplicaciones: Muestra los programas y aplicaciones abiertos en nuestro equipo y el estado en el que se encuentran. Como antes abrí el Bloc de Notas, aparece ahí. Podemos finalizar una tarea, cambiar a otra tarea o iniciar una nueva.
- Procesos: Muestra los procesos ejecutándose en el equipo. En la parte de abajo sale el número de procesos que hay, actualmente 50. Los procesos aparecen ordenados por columnas, Nombre de imagen es el nombre del proceso, Nombre de usuario es el usuario que lo ha iniciado, CPU es el porcentaje de CPU usado para ese proceso, Memoria es la cantidad de memoria necesaria o usada para que el proceso funcione correctamente y Descripción muestra una breve descripción del proceso.
- Servicios: Muestra los servicios ejecutándose en el equipo. También están organizados por columnas, Nombre indica el nombre del servicio, PID es su número de identidad, Descripción muestra una breve descripción del servicio, Estado indica el estado en el que está actualmente el servicio (en ejecución, detenido,...) y Agrupar clasifica los servicios.
- Rendimiento y Funciones de red: Muestran varias gráficas y tablas que resumen el gasto de recursos del ordenador, su "pulso". Si hay una tarea que está gastando muchísima memoria, red o procesador, las líneas se aplastarán contra los bordes superiores.
- Usuarios: Muestra los usuarios conectados al sistema, así como su identificador, estado, nombre del cliente y sesión.
Tambien podemos cambiar la prioridad de algún proceso. Basta con hacer click derecho sobre uno de ellos y le damos a Establecer prioridad. Esto hará que se destinen más o menos recursos al proceso. Si queremos codificar un vídeo en menos tiempo, podemos poner la prioridad en Alta para que pueda usar más procesador y memoria. No es recomendable poner la prioridad en Tiempo real porque desestabiliza el sistema.
Fuentes: http://norfipc.com/comandos/como-usar-comandos-tasklist-taskkill-windows.php
http://www.comtecknet.com/2011/06/20/comandos-batch-tasklist/
http://articulos.softonic.com/administrador-de-tareas
Suscribirse a:
Entradas (Atom)