Mortuux

Diario de un estudiante geek. Informática, tecnología, programación, redes, sistemas operativos, bases de datos…

Archivos mensuales: julio 2009

Recuperar contraseña de root

No es algo habitual, pero puede que alguna vez se nos olvide nuestra amada contraseña de root.

Lo que podemos hacer es restablecer la contraseña, para luego establecer una nueva contraseña.

Tendremos que arrancar en modo “single” nuestra distribución. Para ello cuando se presente GRUB editamos la entrada correspondiente a nuestra distribución con la tecla “e” y luego editamos la primera línea para que al final ponga “linux single“. Luego basta con pulsar la tecla “b” para iniciar la distribución con ese ligero cambio (que no se mantendrá para futuros inicios).

Con eso tendremos acceso a la consola, a partir de la cual iremos haciendo lo siguiente:

cd /etc
nano passwd

Y buscaremos la línea (probablemente arriba) que ponga algo como esto:

root:x:0:0:root:/root:/bin/bash

Tenemos que eliminar la “x” de esa línea de forma que quede así:

root::0:0:root:/root:/bin/bash

Y salvamos el fichero,

Ahora hacemos algo similar con el fichero /etc/shadow

nano shadow

Tendremos que editar la línea que comienza con “root” para que todo quede con 4 símbolos de dos puntos (”:”) a continuación. La línea debe quedar así:

root::::

Y salvamos el fichero

Ahora ya solo hace falta reiniciar el sistema como un usuario normal, y ya podremos establecer la nueva contraseña de superusuario con el siguiente comando:

su
passwd

Vía | MuyLinux

Anuncios

Cerrar rápidamente programas que no responden

En Unix tenemos el comando kill que es muy rápido y efectivo. Sin embargo en Windows, es un engorro tener que abrir el Administrador de tareas, buscar el programa y finalizarlo.

Hay una solución aún más rápida:

En un bloc de notas escribimos taskkill /im programa

Donde programa es el nombre el programa que no responde. Una vez hecho lo guardamos como un .bat. Para hacerlo más genérico podemos poner taskkill.exe /f /fi “status eq not responding” que directamente cerrará aquellos programas que no estén respondiendo.

El encaminador

Los encaminadores, enrutadores o routers son dispositivos software o hardware que se pueden configurar para encaminar paquetes entre sus distintos puertos de red utilizando la dirección lógica correspondiente a la internet.

El encaminador interconecta redes de área local operando en el nivel 3 de OSI, por tanto su funcionalidad está fuertemente condicionada por el protocolo de red.  Esto hace que su rendimiento sea menor, ya que gasta menos tiempo de proceso en analizar los paquetes de nivel de red que llegan.

Los routers confeccionan una tabla de encaminamientoen donde registran qué nodos y redes son alcanzables por cada uno de sus puertos de salida.

  • Algoritmos de encaminamiento estático. Requiren que la tabla de encaminamiento sea programada por el administrador de red.
  • Algoritmos de encaminamiento adaptativo. Son capaces de aprender por sí mismos la topología de la red. Son mucho más flexibles que los estáticos, aunque su rendimiento es menor.

Protocolos de encaminamiento

  • RIP (Routing Information Protocol) es un algoritmo  de tipo vector basado en la RFC 1058 apropiado para encaminamiento en redes IP pequeñas. RIP utiliza el puerto UDP número 520 para el intercambio de la información de encaminamiento con otros enrutadores, que se calcula como el cómputo de saltos de red necesarios para que un paquete dado alcance su destino.
  • OSPF (Open Shortest Path First) es otro algoritmo caracterizado por que el envío de paquetes siempre se realiza por la ruta más corta entre las disponibles.
  • BGP (Border Gateway Protocol) es un protocolo de frontera exterior, es decir, se ejecuta en los encaminadores que forman el perímetro de la red y facilitan extraodinariamente el interambio de rutas con los encaminadores exteriores.

Características fundamentales de los encaminadores

  • Interpretan las direcciones lógicas de capa 3
  • Son capaces de cambiar el formato de la trama, ya que operan a un nivel superior a ésta
  • Poseen un elevado nivel de inteligencia y pueden manejar distintos protocolos
  • Proporcionan seguridad a la red puesto que se pueden configurar para restringir accesos a la red.
  • Reducen la congestión de la red aislando de tráfico las distintas subredes que interconectan.

Familias de protocolos

Un protocolo es un conjunto de reglas perfectamente organizadas y convenidas de mutuo acuerdo entre los participantes en una comunicación, cuya misión principal es regular algún aspecto de ésta.

Con el fin de simplificar la complejidad de cualquier red, los diseñadores de redes han convenido estructurar las diferentes funciones que realizan y los servicios que proveen en una serie de niveles o capas.

Las capas están jerarquizadas. De esta manera, cada capa debe ocuparase exclusivamente de su nivel inmediatamente inferior, a quién solicita servicios, y del nivel inmediatamente superior, a quien devuelve resultados.

Llamamos interfaz o interface de capa a las normas de intercomunicación entre capas.

El interfaz, entendido como la definición de los servicios y operaciones que la capa inferior ofrece a la superior, se gestiona como una estructura de primitivas. Las primitivas son llamadas entrantes o salientes en cada una de las capas que sirven para solicitar servicios, devolver resultados, confirmar las peticionesa, etcétera.

  • Familia SNA

SNA (Systems Network Architecture) es el nombre de la arquitectura de redes propia de IBM. El modelo OSI se configuró apartir de SNA; de esta arquitectura toma el número y funciones aproximadas para sus capas.

Una red SNA está constituida por un conjunto de máquinas conectables a la red que se denominan nodos. SNA define cuatro tipos de nodos: terminales, controladores, procesadores frontales y hosts.

Cada uno de estos nodos tiene al menos una NAU (Network Adress Unit) que es el software por el que un proceso puede utilizar la red, es decir, un punto lógico de lared por el que alguien puede utilizar un servicio. Para poder utilizar la red, un proceso debe conectarse directamente a una NAU; a partir de aquí podrá utilizar los recursos de la red.

  • Familia NetWare

NetWare, fabricado por Novell, ha sido el sistema operativo de red más utilizado del mundo. Los servidores NetWare han sido tradicionalmente dedicados. El resto de las estaciones son exclusivamente clientes de estos servidores. Otro factor que influye en el alto rendimiento de la red es el protocolo propietario desarrollado por Novell, denominado IPX/SPX (Internetwork Packet eXchange/Sequenced Packed eXchange) derivado de la red de Xerox XNS (Xerox Network Service).

  • Familia AppleTalk

AppleTalk es el nombre de la red entre iguales, diseñada por Apple Computer Corporation, para su utilización en ordenadores Macintosh. Apple siempre ha tratado de consevar la facilidad de instalación y configuración en sus desarrollos. Los sistemas de red AppleTalk pueden ser clasificados según su capa física del modo siguiente:

  1. Red LocalTalk. Es una red AppleTalk sobre cable serie que proporciona unas prestaciones de flujo moderadas. El sistema de cableado consiste en un bus lineal.
  2. Red EtherTalk. Cuando AppleTalk tiene una Ethernet en la capa física, recibe el nombre de EtherTalk.
  3. Red TokenTalk. Es una red AppleTalk sobre una red en anillo del tipo Token Ring.

Además las tecnologías Bluetooth y Wi-Fi.

  • Familia NetBeui

NetBeui es un protocolo desarrollado por IBM en 1985. NetBeui es un protocolo que controla tanto a los datos como a los mensajes entre aplicaciones. Cuando un sistema operativo de red implementa el protocolo NetBeui, los servicios son alcanzados a través del interfaz NetBIOS

  • Familia TCP/IP

La tecnología TCP/IP (Transmission Control Protocol/Internet Protocol) está definida en un conjunto de documentos denominados RFC (Request For Comments). La importancia de TCP/IP es tan grande que la mayor parte de las redes hablan TCP/IP.

Topologías de red

La topología de una red es la propiedad que indica la forma física de la red, es decir, el modo en que se disponen los equipos y el sistema de cableado  que los interconecta para cumplir su función.

  • Topologías en estrella.

Las estaciones se conectan entre sí a través de un nodo especialmente privilegiado que ocupa la posición central de la red, formando con el resto de las estaciones una estrella. A este nodo se le denomina estación concentradora de la estrella.

La ventaja pricipal de una red en estrella reside en la seguridad. El concentrador tiene las funciones tanto de intercomunicador entre cualesquiera dos estaciones, como de aislador de los problemas que pudieran surgir en cualquiera de los segmentos, de modo que si un segmento se deteriora, sólo él se queda sin servicio de red.

Sin embargo, el problema de la topología en estrella se presenta en el entorno del concentrador, ya que todos los segmentos deben terminar en él, lo que conlleva una importante madeja de cables.

  • Topología en anillo

Una red en anillo conecta todos sus equipos en torno a un anillo físico. Sin embargo, una rotura en el anillo produce el fallo general de la red. Un ejemplo de red en anillo es la red Token Ring, que sigue el estándar IEEE 802.5.

Las redes de anillo utilizan protocolos libres de colisiones. Las señales recorren el anillo a la velocidad de la luz en el medio de transporte y requieren retardadores para evitar que unos bits se superpongan a otros, no hay que olvidar que la transmisión en una red en anillo, es secuencial, y es posible que cuando una estación quiera poner en la red el bit siguiente, todavía no se haya terminado de transmitir por el anillo anterior. También son necesarios elementos bidireccionalmente selectivos para  conseguir que la trasmisión se produzca en un sólo sentido en el anillo. Podemos deducir que un anillo no es simplemente un bus cerrado por sus extremos, sino que requiere una tecnología electrónica avanzada.

El dispositivo encargado de realizar físicamente el anillo se llama MAU (Multistation Access Unit), que no es má que un tipo de concentrador especializado al que se conectan las estaciones. Este hardware tiene una serie de componentes de conmutación que crean un nuevo anillo cada vez que sae conecta una nueva estación como segmento de la estrella.

  • Topología en bus

Los puestos  de una red en bus se conectan a una única  línea de transmisión (bus) que recorre la ubicación física de todos los ordenadores. Esta red es muy simple en su funcionamiento, pero es muy sensible a problemas de tráfico o a las roturas de los cables.

El medio de transmisión que forma la red es un único bus multiacceso compartido por todos los nodos, y se debe establecer una contienda para determinar quién tiene derechos de acceso a los recursos de comunicación en cada instante. Este sistema de contienda determina el tipo de red. El bus tiene una estructura lineal. Con el fin de evitar ecos o reflexiones no deseadas que perjudiquen las condiciones eléctricas de transmisión, los extremos de este bus deben estar terminados con unos acopladores de impedancia eléctrica o terminadores, específicos para el tipo de cable que se trate. Son típicos los cables coaxiales RG-58. La ruptura del bus impide totalmente la comunicación entre cualesquiera dos nodos de la red.

  • Topología en malla

Se trata de construir una malla de cableado situando los nodos de la red en las intersecciones de la malla. De este modo, cada nodo está a siempre conectado con líneas punto a punto con cualquier otro nodo adyacente.

  • Topología en árbol

Es una extensión de la topología en bus. Consiste en la conexión de distintos buses lineales (ramas) a un nuevo bus troncal del que reparte la señal hacia las ramas.

  • Topología de interconexión total

Consiste en conectar todos los ordenadores, de una red entre sí a través de líneas punto a punto.

  • Topologías mixtas

En este caso, la topología de la red es una mezcla de las topologías básicas describidas anteriormente.

El proceso telemático

Un proceso informático es un procedimiento en ejecución que se encarga de realizar unas funciones concretas previamente definidas.

Un proceso telemático podría ser una conversación telefónica, regida por las normas de establecimiento de la comunicación (marcar), de ruptura (colgar) y del transporte de la voz.

La base de cualquier comunicación es una transmisión de señal.

Se puede definir la telemática como la técnica que trata la comunicación remote entre procesos.

La transmisión es el proceso por el que se transportan señales de un lugar a otro. Las señales  son entidades de naturaleza diversa que se manifiestan cmo magnitudes físicas, principalmente electromagnéticas y mecánicas. Por ejemplo, en la comunicación telefónica de voz intervienen distintos tipos de señal: la voz genera una onda de presión de naturaleza mecánica; esta señal debe ser convertida en impulsos eléctricos de unas características determinadas a través de  un micrófono.  Esta señal eléctrica es transportada a través de unas líneas de transmisión  que proporcionan las compañías. Una vez que la señal eléctrica ha alcanzado su destino, se convierte de nuevo en una onda de presión por medio del auricular del teléfono receptor.

Podemos conrectar que la comunicación es el proceso por el que se trasnporta información, sabiendo que esta información viaja sobre una señal que se transmite.

La transmisión se refiere al transporte de las señales físicas necesarias para que se produzca un fenómeno telemático, mientras que la comunicació se refiere más bien al transpore de la información, de los datos que significan algo concreto tanto para el emisor como para el receptor. Se puede afirmar que la señal es a la transmisión lo que la información es a la comunicación.

Nos referiremos a las líneas de transmisión duando hablemos sobre el transporte de señal; y a los circuitos de datos, cuando consideremos el transporte de la información.

Los circuitos de datos expresan tanto el camino y el modo como la tecnología utilizada por la información que circula en una red de datos, con objeto de alcanzar un destino receptor.

Para que se produzca una comunicación es necesaria una fuente de información, un destinatario y un canal a través del cual se transmitan los datos.

El equipo terminal de datos o ETD es aquel componente del circuito de datos que hace de fuente o destino de la información. La característica definitoria de un ETD no es la eficiencia ni la potencia de cálculo, sino la función que realiza: ser origen o destino en una comunicación.

El equipo de terminación del circuito de datos o ECD es el componente de un circuito de datos que adecua las  señales que viajan por el canal de comuniaciones convirtiéndolas a un formato asequible al ETD.

Dos ECD cualesquiera en un circuito de datos se unen a través de una línea de datos. La línea de datos viene caracterizada por parámetros que la habilitan o no para según qué transmisiones.

El enlace de datos está constituido por los ECD y las líneas que los interconectan considerados como un conjunto.

Se puede definir un circuito de datos como el conjunto de ECD y líneas de transmisión encargado de la comunicación entre el ETD transmisor y el ETD receptor, de modo que tanto las señales como las informaciones que en ellas viajan sean entregadas de modo seguro.

Buscar y reemplazar cadenas en php

Esta tarea normalmente se realiza a través de la función strpos(cadena_donde_se_busca,subcadena_a_buscar) que devuelve false si no encuentra nada, o devuelve la posión del primer carácter buscado dentro de la cadena.

$cadena = "Hola que tal estoy probando las cadenas"
$pos = strpos($cadena, "estoy");
if (!$pos)
echo "No se ha encontrado nada\n");
else
echo "Posición: $pos\n");

Eso devolvería el valor 13.

También se puede indicar que empiece a buscar desde la derecha, para ello existe la función strrpos(). Como ya esperabas, strpos() es sensible a las mayúscualas y minúsculas, pero curiosamente no hay otra alternativa para esta función. Pero en php existe la función strstr() que funciona de manera similar a strpos() y tiene una variante sin sensibilidad a mayúsculas denominada stristr(). La diferencia entre strstr() y strpos(), es que strstr() devuelve la parte posterior de la subcadena buscada. En el ejemplo anterior, strpos() devolvía 13, pues bien, utilizando la función strstr():

$cadena = "Hola que tal estoy probando las cadenas"
$pos = strstr($cadena, "estoy");
if (!$pos)
echo "No se ha encontrado nada\n");
else
echo "Posición: $pos\n");

Eso devolvería “estoy probando las cadenas”

Para reemplazar cadenas existen dos funcionaes. Una de ellas es substr_replace, que podrá ser utilizada siempre que conozcamos la posición y la longitud de la sub cadena a reemplazar.

$cadena = "Hola que tal estoy probando las cadenas";
$nueva = substr_replace($cadena, "estoy", 13, 5);
echo "$nueva\n";

Pero no tenemos porque conocer la longitud ni la posición, para estos casos tenemos la función str_replace(subcadena_buscada, subcadena_nueva, cadena)

$cadena = "Hola que tal estoy probando las cadenas";
$nueva = str_replace("probando", "quemando", $cadena);
echo "$nueva\n";

Fondos de Escritorio

Aquí os dejo algunos fondos de escritorio:
51958-Blue-Fryze

61428-waterfire

71793-firefox_nebula_1920_1200

86769-Breakthrough01

Comparación de cadenas en php

Comparar cadenas en php no es tan fácil como hacerlo con números. Si examinamos una cadena basándonos en su forma binaria, “Juan” y “juan” serán completamente diferentes. El valor de “Juan” en binario es: 010010100111010101100001011011100000110100001010 y para “juan” es: 011010100111010101100001011011100000110100001010.

La primera función de comparación es strcmp(). El valor devuelto por esta función depende de la relación alfabética entre las dos cadenas. Si $val1 y $val2 son idénticas, strcmp() devolverá 0. strcmp() distingue entre mayúsculas y minúsculas. Si no son igualesm el valor devuelto estará determinado por las reglas de orden alfabético. Si $val1 es alfabéticamente inferior a $val2, el resultado será negativo, en caso contrario, será positivo.
echo strcmp("Alvaro", "Benito"); // Devuelve < 0

echo strcmp("manzana", "Manzana"); // Devuelve > 0

Los números tienen un valor contexual más bajo que las letras, y las letras mayúsculas un valor contextual más bajo que las minúsculas. Si queremos comparar cadenas sin distinción entre mayúsculas y minúsculas, debemos usar la función strcasecmp();

echo strcasecmp("Juan", "juan"); // devuelve 0;

Aún no existe una solución que se acerque a la capacidad del cerebro humano, pero se han desarrollado varios algoritmos que nos proporcionan un método para medir la “similitud” entre dos cadenas. Uno de estos ejemplos es el algoritmo soundex. Soundex funciona asignando un valor a cada constante del alfabeto y calculando posteriormente el valor total de una palabra basándose en sus sílabas iniciales y componentes. En php se implanta mediante la función soundex();

echo soundex("Mortuus"); //Devuelve M632
echo soundex("Mortiis"); // Devuelve M632
echo soundex("Mortem"); // Devuelve M635

Otro algoritmo para comparar dos palabras basándonos en sus representaciones fonéticas es el metáfono. Este algoritmo funciona asignando un valor fonético a combinaciones de caracteres basándose en su uso típico en inglés. Php lo implanta a través de la función metaphone();

echo metaphone("Mortuus"); // Devuelve MRTS
echo metaphone("Mortiis"); // Devuelve MRTS
echo metaphone("Mortem"); //Devuelve MRTM