‘ Tutoriales ’ category archive

Como sincronizar dos ordenadores en Linux.

April 19, 06 by Max Villegas

Transferencia de un archivo.

Si tu laptop es un complemento de tu desktop es probable que recurrentemente necesites sincronizar datos entre ambas (*). Por ejemplo, cuando estás en medio de un proyecto importante y sabes que por la tarde no estarás en casa sino que en la sala de espera del doctor o en el aeropuerto, entonces es bueno tener la posibilidad de transferir rápidamente los datos importantes y mails de un ordenador a otro. Esta nota te dirá como hacerlo entre dos máquinas GNU/Linux.

Si solo necesitas transferir un puñado de archivos o directorios, probablemente la forma más fácil de hacerlo de un sólo tirón es a través de secure shell (OpenSSH). Todas las distros linux incluyen OpenSSH, aunque no todas corren por defecto el deamon SSH que te permite conectar el computador vía SSH, incluso sin contraseña.

Iniciar el deamon es tan simple como escribir sshd en la línea en una terminal para root. También puedes configurar tu distro para que inicie el OpenSSH al iniciar el PC; cada distro tiene scripts de inicio distintos, por lo que debes leer la documentación respectiva para aprender a configurar esto .

Una vez que tienes el shell seguro iniciado, otros ordenadores pueden conectarse a tu PC usando una ventana de terminal con el comando shh y reliazar los respaldos a distancia con rsync, o bien puedes copiar los archivos sobre una conexión segura usando el comando scp. Después puedes hacer todo el trabajo de forma regular con el comando cp, excepto porque tienes que dar la dirección IP por lo menos a uno de los archivos.

scp picture.jpg 192.168.1.101:/home/user/pictures/

En este ejemplo un archivo llamado picture.jpg es transferido a la máquina de red con la dirección IP 132.168.1.101 y a la carpeta /home/user/pictures/. Por defecto, scp copia el archivo o directorio home apuntado al directorio del usuario que estás usando o con el que te has logueado; pero puedes especificar una ruta distinta después de los dos puntos siguientes a la IP. En el archivo /etc/hosts puedes crear un nickname para la máquina remota a la que estás copiando los archivos. Sólo agrega una nueva línea con la dirección IP del PC al que le vas a dar el nickname, presiona la tecla tab y escribe el nombre por el cual quieres llamarla.

192.168.1.101           laptop

En el siguiente ejemplo usaremos el nickname en vez de la dirección IP; especificaremos un usuario diferente al logueado en el terminal desde donde estamos copiando y copiaremos un directorio entero en vez de un solo archivo.

scp -r /home/user/pictures/ user2@laptop:/home/user2/

La -r significa recursivo y le dice al comando scp que debe copiar el directorio y todo lo que hay en él. El comando señalado creará un directorio llamado pictures en el directorio /home/user/ y copiará todo el contenido de /home/user/pictures/ de la máquina local. Pero si en la máquina remota ya existe un directorio pictures e igualmente quieres copiar todo lo que hay en la máquina local, lo que debes hacer es usar el comodín *.

scp /home/user/pictures/* laptop:/home/user/pictures/

(*) Nota del traductor: el texto original fue como guía para sincronizar información entre un laptop y un desktop. Pero lo mismo es válido para dos ordenadores de escritorio.

Transferencias más complejas

Hay muchos recursos de red que pueden usarse para transferir grandes cantidades de archivos en varios directorios (CVS, FTP, NFS), pero para lo que estamos haciendo ninguno de ellos es realmente una herramienta de sincronización ni hace lo que rsync.

Este software es muy similar a scp, salvo que está diseñado para transferencias complejas. Si tu laptop y tu desktop comparten el mismo software, la estructura del directorio /home, así como los datos, rsync los actualizará inteligentemente. Por ejemplo, si encuentra archivos duplicados en la máquina remota, comprobará si es nuevo y lo actualizará si está fuera del rango de tiempo adecuado conservarlo tal cual; por otra parte, si el archivo o carpeta no existe, entonces lo creará. También puedes programar para que rsync borre los archivos en la máquina remota que no hayan sido detectados en la máquina local, pero esto puede tener su riesgo, por lo que no usaremos esta alternativa en ningún ejemplo.

Tal como hicimos con OpenSSH, con rsync también debemos iniciar el deamon respectivo en la PC remota. El comando para esto es rsyncd. Igualmente, si deseas puedes programarlo para que se auto inicie en el booteo.

El siguiente ejemplo no requiere el demonio de rsync; en cambio, usa OpenSSH para transferir el archivo por lo que debes iniciar el demonio de SSH. Puedes especificar cual software usar para la transferencia usando solo un (SSH) o dos (rsync) dos puntos después del nombre o la IP del host. El ejemplo usará sólo una vez los dos puntos.

rsync -arvuz /home/user/ 192.168.1.101:/home/user/

También como en SSH, puedes usar /etc/hosts para crear un nickname para la IP de la máquina remota y puedes señalar otros usuarios después del símbolo @. Las opciones arvuz significan respectivamente mantener los permisos de usuario y grupo; recursivamente copiar el directorio /home/user/ y los archivos que hay en él; mostrar transparentemente qué archivos son trasferidos o actualizados; ignorar archivos idénticos o que tengan la misma fecha y comprimir los datos para usar menos ancho de banda en la red.

¿Pero que ocurre si no quieres transferir todo el directorio, sino solo los archivos y directorios importantes? Hay dos formas. Si recurrentemente necesitas copiar las mismas carpetas, puedes entonces crear un script sencillo para ahorrarte tiempo escribiendo manualmente los comandos. Con un editor de texto cualquiera creas un archivo llamado sync_laptop.sh y escribes lo siguiente (cambiando los directorios del ejemplo por los tuyos)

rsync -arvuz ‘/home/user/pictures /home/user/documents /home/user/jokes’ laptop:

Cuando lo guardes lo debes hacer ejecutable con chmod +x. El comando del ejemplo no funcionará con directorios que tengan más de un nivel adentro, por lo que, por ejemplo, /home/user/pictures/summer/ no servirá. Ninguno puede copiar archivos a cualquier otro directorio remoto que no sea /home, usado en ele ejemplo. Deberás agregar una nueva línea al script para cada subdirectorio que desees transferir, pero hay una forma más eficiente de hacerlo.

Primero crea un directorio en /home llamado sync. Te cambias a él en la línea de comando y creas un enlace simbólico a todos los directorios que quieres transferir. Si necesitas crear nuevos niveles o subdirectorios en /home/user/sync/, asegúrate de seguir el mismo procedimiento que realizaste al home cuando creaste los enlaces simbólicos de destino.

ln -sf /home/user/documents ./documents
mkdir .gconf
mkdir .gconf/apps
ln -sf /home/user/.gconf/apps/evolution ./.gconf/apps/evolution
ln -sf /home/user/.evolution ./.evolution
mkdir pictures
mkdir pictures/summer
ln -sf /home/user/pictures/summer ./pictures/summer

Ahora creas el script que hará la transferencia; llámalo sync_laptop.sh y ponlo en tu home:

# This script syncs a remote computer to this onecd /home/user/
# Uncomment the next command if you’d like to copy all of the
# files (not directories) in your home dir to the remote machine.
# cp * ./sync
rsync -arLuvz /home/user/sync/ laptop:/home/user

El parámetro -L le dice a rsync que trate tus symlinks como si fueran directorios reales.
Guarda el script y hazlo ejecutable con chmod +x. Cuando lo corras tu laptop será actualizada con todos los directorios y archivos del desktop. La primera vez que lo hagas tomará un buen tiempo, pero las siguientes veces demorará mucho menos porque rsync no sobrescribirá archivos que no tengan cambios.

Para hacer el proceso inverso debes hacer lo mismo en tu laptop, pero recuerda cambiar la IP o el nickname de la máquina remota.

Por si acaso, el ejemplo anterior copiará o actualizará tus cuentas de email, la libreta de contacto y otros datos de Evolution. Si estás configurando un nuevo laptop esto puede actualizar tus datos de Evolution de forma mucho más simple.

Nota final

Los ejemplos y consejos anteriores se simplificaron para el uso casero. OpenSSH y rsync son capaces de tareas mucho más avanzadas. Hay también diversas técnicas y acercamientos para los procesos ejemplificados. El primer y mejor lugar para buscar más información sobre estos programas es en sus manuales (man). Si estás buscando más ejemplos que los aquí expuestos, una búsqueda en Google le dará más información.

Jem Matzan es un experimentado técnico de electrónica, periodista independiente de tecnología, y el redactor jefe de The Jem Report, Entertainment in Review, Hardware in Review y Software in Review.

Texto original escrito por Jem Matzan
Fuente Linuxplanet.com

Traducción por Max Villegas

Post relacionados

Sobre Error en BBDD

April 08, 06 by Max Villegas

Lo siento, recién por la noche he podido enterarme que hay problemas con la base de datos…. No hay nada más que yo pueda hacer. Ya por lo menos he conseguido menguar en algo el error.

El administrador del hosting, al parecer (eso espero), está arreglando el problema. Es una verdadera pena pagar por cosas que funcionan mal…

Disculpen las molestias.

Como particionar y formatear un disco para usarlo con linux (II)

April 01, 06 by Max Villegas

Hay un nuevo post sobre este tema que posiblemente quieras mirar .

Las consideraciones previas.

Lo primero es señalar que esta guía no pretende nada más que ser una referencia. Es decir, no esperen detalles minuciosos de todo el proceso de instalación.

Aproximadamente desde el 98 he instalado diferentes distros linux: RedHat, Mandrake, SuSe, Knoppix, Ubuntu… Todas han sido medianamente parecidas y con ninguna he tenido grandes problemas. Cuento aparte es Debian que, al ser la más geek de todas, tiene sus mañas. Sin embargo, debo reconocer que lo más complejo de instalar cualquier distro linux es el tema de las particiones y el sistema de ficheros. La segunda parte de esta guía, por tanto, estará centrada específicamente en eso e ignoraré el resto del proceso.
Read the rest of this entry »

Como particionar y formatear un disco para usarlo con linux (I)

March 28, 06 by Max Villegas

Hay un nuevo post sobre este tema que posiblemente quieras mirar

Aprovechando que tengo un PC que no ocupo con una partición linux para Red Hat 9 y dado que todos los días llegan visitas buscando manuales para particionar o formatear un disco con Ubuntu haré esta guía para mostrar cómo hacerlo.
Read the rest of this entry »

Números impares

March 09, 06 by Max Villegas

Resulta que los duños de una de la páginas en que estoy trabajando querían hacer un truquillo para que si el día era par (2, 4, 6, etc.) los correos de un formualrio fuesen enviado a una dirección y si el día era impar (1, 3, 5, etc.) fuesen a otro email.

No era la primera vez que me enfrentaba a este sencillo dilema de los nones y pares (útil para ir alternando, por ejemplo, el background de los comentarios). Anteriormente había recurrido a trucos poco elegantes como hacer bucles dejando una variable que me sirviera de ancla al resetearla a 0 vuelta por medio.
Read the rest of this entry »

Usando w.bloggar

February 12, 06 by Max Villegas

Como ya he hablado de w.bloggar, Performancing y Qumana constantemente llegan a este sitio buscando información sobre estos editores. Algunos, muy perdidos, buscando plugins para WP que los hagan funcionar; otros, simplemente, un tutorial que los ayude. Siguiendo los consejos de bloggers expertos, preparé un pequño tutorial sobre w.bloggar, que en mi opinión, de los tres editores mencionados, es el mejor.

Antes de comenzar, me gustaría aclarar tres puntos. Lo primero será señalar que de ninguna forma pretendo cubrir todas las características de w.bloggar, sino solamente las necesarias para postear sin problemas. Segundo, dependiendo de la configuración de nuestro blog, de la cantidad y tipos de plugins que hayamos instalados, habrá funciones que definitivamente no podremos realizar. Como sea, supongo que quienes buscan esta información tienen una configuración muy básica en su blog, por lo que no creo que tengan problemas.

Dicho eso, lo primero será configurar w.bloggar para conectarnos a nuestro blog, para eso tendremos que añadir unas cuentas:

Nos preguntará si ya tenemos nuestro blog. Como este tutorial es para WordPress, la respuesta es sí y seleccionamos por tanto la primera opción. Como dato, la segunda opción es útil para abrir una cuenta en blogspot.com o blogger.com.

Ahora, tendremos que señalar el gestor CMS que usaremos e ingresar un alias. Ya está dicho, el gestor es WordPress (lo buscamos en la lista) y el alias generalmente es el nombre del blog, pero puede ser cualquier cosa. Es útil en el caso que decidamos tener más de una cuenta. En el Ping, lo mejor es seleccionar ping-o-matic.

paso 3

Nos queda seleccionar nuestro nombre de dominio o, de lo contrario, la dirección de nuestro blog sin el http:// al comienzo. El path es la ruta del archivo xmlrpc.php, que vendría siendo el archivo que se entiende con w.bloggar y en realidad con muchas otras herramientas para bloguear, tales como Performancing, Qumana y algunas APIs de Flickr. El puerto, en la mayoría de los casos sería el 80.

paso 4

Finalmente ponemos el nombre de usuario y password. Si usamos w.bloggar en el PC de la casa podemos recordar la password seleccionando la casilla “Save Password”.

paso 5

Ya estaríamos listos para postear desde w.bloggar. Bastará con escribimos un título y un texto, seleccionar la categoría ad-hoc y apretar el botón Post & Publish. Pero para no ser tan tacaño, explicaré algunas cosas más que pueden ser de gran utilidad.

Si bien w.bloggar en apariencia es muy similar a un editor de textos como Word, es necesario señalar que no es un editor del tipo WYSIWG, por lo que siempre será útil tener un conocimiento mínimo de HTML, al menos para insertar imágenes y links. De todas formas las toolbars que posee son muy completas para formatear texto, insertar tablas, imágenes, enlaces, etc. Para estar seguros antes de publicar, los resultados pueden verse en la pestaña Preview.

Para poder subir imágenes el truco consiste en configurar el gestor ftp que incluye. Esto está en Tools, Blog Properties, Upload. Habrá que tener cuidado con la ruta de la imagen en la etiqueta img que se crea por defecto una vez subida la imagen, pues si lo hemos hecho en una carpeta la ruta completa no será incluida.

Otra cosa útil es poder editar post ya publicados. Para eso nos vamos el menú Tools, Posts y seleccionamos alguna de las opciones que nos da… los últimos5, 10, 15, etc.

Y finalmente explicaremos un detalle muy importante: la pestaña “More”. Esta pestaña está dividida en tres partes. Extended Entry, Excerpt y Keywords. La primera es para escribir el texto que no será visible en la página principal del blog, o dicho de otro modo, que solo será visible en el permalink. El excerpt es para escribir el resumen que irá en el feed RSS. Y las Keywords entiendo que sería para ingresar las “custom kewwords”, pero en honor a la verdad, no he descubierto como se usan. El problema está en que una custom keyword se compone de un nombre y un valor, y aquí no se puede seleccionar el nombre.

Technorati tags: ,

Configurando FeedWordPress como miniplanet

February 02, 06 by Max Villegas

Ahora que ya sabemos como hacer un miniblog y como mostrar el feed de nuestra links-list, una buena idea es montarse un miniplanet y para ello utilizaremos FeedWordPress.

Como expliqué anteriormente, creamos la categoría miniplanet y configuramos un asides. Una vez que eso está listo, instalamos FeedWordPress.

Para ello instalamos el archivo “feedwordpress.php” en el directorio “plugins” y el archivo “update-feeds.php” en el directorio “wp-content” de WordPress. Opcionalmente, pero muy recomendable, hacemos un upgrade de la librería MagpieRSS. Para esto tomamos el archivo “rss-functions.php” que está en el zip: OPTIONAL/wp-includes y lo ponemos en wp-includes/ de nuestro WP. Con esto conseguimos sindicar archivos atom.

Configurando múltiples asides y miniblogs

February 02, 06 by Max Villegas

Cada vez es más común encontrar en la blogosfera asides y minipost. Sirven tanto para mejorar el diseño de nuestro blog como para entregar información específica con un formato que sea visulamente reconocible y atractivo.

Su configuración suele ser muy sencilla, generalmente sólo necesitamos instalar un plugins y modificar levemente nuestra plantilla. Pero, dependiendo de lo que queramos hacer, en ciertos casos puede darnos más de un dolor de cabezas.

Intentaré explicar, paso a paso, cómo conseguir múltiples asides. Si sólo quieres uno, la guía vale igual.

Partiremos explicando que los asides generalmente son anotaciones breves intercaladas en nuestros post y que tienen un diseño diferente al normal. Técnicamente, podríamos decir que son una forma distinta de presentar ciertos post. Pero hay alguna variantes: el recuadro exclusivamente con titulares después del segundo o tercer post; el listado de post recientes en el sidebar y el miniblog.

Dicho lo anterior, vamos a la acción.

Lo primero que tenemos que preguntarnos es cuántos asides queremos implementar, para qué queremos uno y dónde lo queremos colocar. Teniendo esto claro procedemos a crear una categoría por aside. Así, por ejemplo, si queremos un miniblog, creamos la categoría “miniblog” y tomamos nota de lo número “id” asociado a ella. Para nuestro ejemplo será el id 10.

Creada la categoría procedemos a editar el archivo index.php de nuestra plantilla


set( 'cat', '-10'); // Agregamos esta línea antes del loop ?>


Lo que significa que estamos escondiendo del loop principal todos los post que escribamos en la categoría 10, que es la del miniblog. Dicho de otra forma, el loop mostrará todas las categorías menos la 10.

Si queremos más de un asides tendremos que hacer una modificación extra, puesto que WordPress por defecto nos permite quitar una sola categoría del loop. En una primera instancia, a la modificación del index.php de la plantilla quedaría de esta forma, agregando la categoría 11.

set( ‘cat’, ‘-10, -11′); // Agregamos esta línea antes del loop ?>

Pero para que esto funcione necesitamos editar el archivo $ROOT/wp-includes/classes.php

El trozo de código que buscamos es el siguiente:

$q['cat'] = ”.urldecode($q['cat']).”;
$q['cat'] = addslashes_gpc($q['cat']);
if (stristr($q['cat'],’-')) {
// Note: if we have a negative, we ignore all the positives. It must
// always mean ‘everything /except/ this one’. We should be able to do
// multiple negatives but we don’t
$eq = ‘!=’;
$andor = ‘AND’;
$q['cat'] = explode(‘-’,$q['cat']);
$q['cat'] = intval($q['cat'][1]);
} else {
$eq = ‘=’;
$andor = ‘OR’;
}
$join = ” LEFT JOIN $wpdb->post2cat ON ($wpdb->posts.ID = $wpdb->post2cat.post_id) “;
$cat_array = explode(‘ ‘,$q['cat']);
$whichcat .= ‘ AND (category_id ‘.$eq.’ ‘.intval($cat_array[0]);
$whichcat .= get_category_children($cat_array[0], ‘ ‘.$andor.’ category_id ‘.$eq.’ ‘);
for ($i = 1; $i < (count($cat_array)); $i = $i + 1) {
$whichcat .= ' '.$andor.' category_id '.$eq.' '.intval($cat_array[$i]);
$whichcat .= get_category_children($cat_array[$i], ' '.$andor.' category_id '.$eq.' ');
}
$whichcat .= ')';
if ($eq == '!=') {
$q['cat'] = '-'.$q['cat']; // Put back the knowledge that we are excluding a category.
}

Para reemplazarlo por el siguiente:

* Atención con las comillas simples y dobles, puede ser que al copiar y pegar no funcione y que necesite corrección manual. Haz una copia del archivo original por si te metes en líos que .

$q['cat'] = ”.urldecode($q['cat']).”;
$q['cat'] = addslashes_gpc($q['cat']);
if (stristr($q['cat'],’-')) {
// Note: if we have a negative, we ignore all the positives. It must
// always mean ‘everything /except/ this one’. We should be able to do
// multiple negatives but we don’t
$eq = ‘!=’;
$andor = ‘AND’;
} else {
$eq = ‘=’;
$andor = ‘OR’;
}
$join = ” LEFT JOIN $wpdb->post2cat ON ($wpdb->posts.ID = $wpdb->post2cat.post_id) “;
$cat_array = explode(‘ ‘,$q['cat']);
$whichcat .= ‘ AND (category_id ‘.$eq.’ ‘.abs(intval($cat_array[0]));
$whichcat .= get_category_children($cat_array[0], ‘ ‘.$andor.’ category_id ‘.$eq.’ ‘);
for ($i = 1; $i < (count($cat_array)); $i = $i + 1) {
$whichcat .= ' '.$andor.' category_id '.$eq.' '.abs(intval($cat_array[$i]));
$whichcat .= get_category_children($cat_array[$i], ' '.$andor.' category_id '.$eq.' ');
}
$whichcat .= ')';

Ahora donde queremos presentar nuestro aside ponemos lo siguiente:

$my_query=new WP_Query('category_name=miniblog&showposts=3');
while ($my_query->have_posts()) : $my_query->the_post();//Do the staff

endwhile;
?>

Lo que en español significa que estamos consultando a la BBDD solo por los 3 últimos post de la categoría “miniblog”. El “do the staff” será donde ponemos las tags de plantillas tales como the_permalink(); the_title(); the_author(); the_content(”); y comments_popup_link();.

Información relacionada:
WordPress asides, coldforged style
http://wordpress.org/search/the_loop
Anadir un miniblog en wordpress
http://wordpress.org/support/topic/37399
http://wordpress.org/support/topic/31304
On Asides by Photo Matt
1001 wordpression loops
Como implementar asides en un blog con wp

Technorati tags: , ,
Tutoriales

Mostrando el enlace RSS de nuestros links

February 02, 06 by Max Villegas

Cuando editamos nuestros links en el gestor de links de WP vemos que existen unas funciones avanzadas. Entre ellas est� “RSS URI” que nos permiten agregar el feed o el canal RSS del sitio al que enlazamos. Sin embargo, por alguna raz�n desconocida, no podemos mostrar esta info en el sidebar.
Read the rest of this entry »

Better Tag Cloud