miércoles, diciembre 29, 2010

Compiladores C y C++ en Ubuntu

Acaba de terminar el partido de fútbol entre las selecciones de Euskadi y Venezuela. Ha estado muy bien con un ambiente excepcional.

Ahora que tenemos un Linux recién instalado necesitamos un buen compilador.
El compilador C viene de serie en los Linux.

Los lenguajes C y C++ tienen una gran ventaja y es que están presente en la mayoría de sistemas operativos (puede que en todos los de cierta entidad). Por eso se pueden considerar multiplataforma, aunque no lo sean en el mismo sentido que Java.

Compilar el "Hola mundo" en C:

Abrimos una sesión de terminal.
Escribimos el típico "Hola mundo" en C:

Llamo al fichero prueba.c

Lo compilamos:

gcc prueba.c

Y ejecutamos el resultado que es el fichero a.out:

./a.out

Hola mundo


Ahora bien, gcc es compilador de C.

Compilar el Hola Mundo en C++:

Llamo al fichero prueba.cpp:


pero... ya hemos dicho que no hay compilador de C++

Hay que instalarlo:

sudo apt-get install 'g++'

y ahora sí:

g++ prueba.cpp

./a.out

Hola mundo

Saludos.

domingo, diciembre 26, 2010

Misión cumplida


Bueno, hoy 26 de diciembre he cumplido la promesa que le hice el 16 de octubre a mi colega Castrol el loco.

La promesa quedó registrada en la zona de comentarios de un post donde yo hablaba de un libro.

Castrol me prestó un libro en 1993, 1994 o 1995. Se llamaba "Hertzainak. La confesión radical". El libro explica el nacimiento y muerte de un grupo de rock mítico con un talentoso líder, compositor y músico como era Josu Zabala.

Recuerdo que le devolví el libro el mismo año 93, 94 o 95, en el autobús camino de la Universidad, pero alguien se lo pidió en aquel mismo momento, y Castrol no volvió a ver el libro. En su frágil memoria permanece la errónea idea de que me lo prestó a mí y yo lo perdí.

Pues después de patearme la ciudad varios cientos de veces, de buscar en cada feria del libro, de merodear por la plaza nueva los domingos, y varios excesos más, hoy he encontrado un ejemplar en perfecto estado de conservación. Además tenía un precio exagerado porque como bien me ha dicho el vendedor es un libro descatalogado, imposible, y que no circula (el autor dice en una entrevista que vendieron las 3.000 unidades que editaron).

Aquí un par de canciones de uno de los mejores grupos de rock vasco:







Saludos.


jueves, diciembre 23, 2010

Pon un Linux en tu vida


Hola,
Llevo ya varias instalaciones Linux en antiguos PC-s.

Más o menos siempre pasa lo mismo. El Windows acaba lleno de troyanos, virus y gusanos o el disco duro peta.cada vez te sorprende más

No tienes una imagen para cargarlo desde cero y no quieres problemas de licencias.

Al final instalas un Linux y la verdad es que cada vez te sorprende más.

Esta es la experiencia de los 2 últimos años:

En octubre de 2008 instalé Kubuntu
. Entonces me sorprendió que sólo tuviera que conectar el cable al ADSL para navegar
En octubre de 2008 instalé Kubuntu
. Entonces me sorprendió que sólo tuviera que conectar el cable al ADSL para navegar. Sin instalar drivers ni configurar ni nada de nada.

En noviembre de 2008 instalo Ubuntu 8.10
(versión de octubre de 2008). No recuerdo si la cosa fue igual de automática pero igual que en el caso anterior NO CONSEGUÍ LA CONEXIÓN POR WIFI. O sea, que me tuve que acostumbrar a ver un cablecito por toda la habitación (tampoco era gran molestia, lo único que no podía cerrar del todo la puerta).

Ya este año instalé Ubuntu sobre una máquina virtual en un portátil Vista. No necesité en ningún momento conectarlo a Internet.

La sorpresa ha sido con esta última instalación:

El portátil del trabajo estaba infectado y he pensado que podía aprovechar para instalar un Linux. He elegido el Ubuntu 10.10 de octubre.

Ha instalado correctamente los drivers del dispositivo wifi del portátil.

He hecho clic en el dibujito wifi de la barra superior y se ha conectado sin ningún problema al ADSL.

O sea, conexión a Internet wifi sin ningún problema. Un gran avance!!!

La única pega que he tenido es que para que el Firefox navegara he tenido que ir a SYSTEM, PREFERENCES, NETWORK CONNECTIONS. Hay que ir a la pestaña DSL e introducir una entrada. Seguro que la proxima vez ni siquiera es necesario.

Saludos.

martes, diciembre 21, 2010

Dos buenas noticias


arriba la portada de hoy en Elpais.

UNO

Parece que a pesar de las presiones a EEUU (filtrado por Wikileaks), la Ley Sinde ha sido rechazada.

Ya hablé bastante de esta Ley:



Aquí puse una cosa muy curiosa que era la SGAE hablando de la buena elección de la Ministra, como si no supiéramos que son primos-hermanos.

DOS

La segunda noticia buena que encontramos en la misma imagen, es que "EEUU vota a favor de la neutralidad en la Red". Para los que no lo sepan, la neutralidad es el Internet que hemos conocido hasta ahora: http://es.wikipedia.org/wiki/Neutralidad_de_red

Lo contrario es lo que propone el Presidente de Timofónica: Cobrarnos por descarga como lo denunciaba en agosto, cobrar por el acceso a facebook, etc. etc.

Si queréis pasar un buen rato viendo al Presidente de esta empresa totalmente beodo (es la única explicación posible), haced clic en el último enlace.

Saludos.




domingo, diciembre 12, 2010

Cálculo del volumen con la integral doble

En el post del otro día, en la zona de comentarios, elkarmaexiste me planteaba una pregunta.

Como lo leo todo deprisa y corriendo entendí que se quería conseguir una aproximación a pi por el método de montecarlo.

Hoy he vuelto a leer la pregunta y creo que me pedían hacer el programa para el cálculo del volúmen.

En cualquier caso es muy interesante conocer ese volumen que hay entre la superficie y el plano z=0 que es lo que voy a explicar hoy:

La primera función que planteaban era: f(x,y) = x^2 + y^2

Lo primero que da al ojo es que se parece mucho a la ecuación de una esfera.

Mirando en el mejor libro de cálculo del mundo, el de N.Piskunov, me entero que la figura que representa se llama paraboloide de revolución. Es lógico porque es una parábola puesta boca abajo y a la que le das vueltas.

Ayer descubrí que en Mac OSX viene una utilidad para dibujar gráficos llamada Grapher. Este sería el paraboloide de revolución dibujado por Grapher:


La intuición:

Según leí el comentario yo pensaba que lo que querían era sacar la fórmula del volumen que queda entre el plano z=0 y la superficie de la función.

Pensaba incorrectamente que la fórmula del volumen ese tendría por medio el número pi ya que por la ecuación se parece a la esfera.

Aquí el resultado:

En el mismo libro de Piskunov leo, a la vez que intento recordar, que el volúmen entre el plano z=0 y la función se calcula con una integral doble.

Aquí hay una explicación gráfica en vivo con el que se entiende perfectamente el cálculo del volumen por medio de la integral doble.



La persona que me hacía la consulta ya me indicaba los límites: para x e y entre 0 y 1.

La integral doble se resuelve por medio de dos integrales:
1.-Primero integro cogiendo como variable "X" y tratando "Y" como si fuera una constante.
2.-Luego integramos cogiendo como variable "Y" y tratando "X" como si fuera constante.

Estas son integrales definidas. El área de integración está delimitado entre valores X0 e X1 por ejemplo.
Si la función integrada es F(X) tenemos que hacer F(x1) - F(x0).


Siguiente paso:

Creo que realmente me pedían hacer un programa en FORTRAN que cogiendo 10, 100, 1000, 10000, 100000 puntos calcule de forma aproximada el volumen.

Hoy no voy a poder y mañana quien sabe. Eso sí, en el siguiente post espero publicar el programa.

Saludos.

lunes, diciembre 06, 2010

Xabier Lete hil da

Hace un año recordaba la muerte de Mikel Laboa, uno de los grandes de la cultura vasca.
Ayer murió Xabier Lete otro gran poeta y cantautor.

Aquí dejo su Xalbadorren Heriotza con bonitas fotos de la tierra:


Esta otra canción sirve de unión entre Xabier Lete y Mikel Laboa.

Primero Xabier escribió la letra y la música, Laboa hizo otra gran canción con esa misma letra, y por último el grupo Ken Zazpi hizo hace unos pocos años su propia versión-homenaje:


Gu sortu ginen enbor beretik sortuko dira besteak...

Saludos.

sábado, diciembre 04, 2010

Imágenes ocultas en fotografías


Siguiendo con el tema del anterior post, puede ocurrir que localices una foto o documento digitalizado en Internet y quieras ver la imagen thumbnail por si es diferente a lo que ves a simple vista.

En lugar de descargar la foto y analizarla en tu PC, hay webs donde indicas la URL y te muestran el thumbnail. El propio script analiza si la imagen es diferente, y si lo es, publica la foto original y la modificada.


Cuidado porque si le indicas la URL de una foto tuya y comprueba que tiene foto oculta se quedará guardada en ese sitio.

En principio la intención del sitio es comunicar el peligro que hay con las imágenes ocultas. El autor agradece la colaboración para traducir su manifiesto a otros idiomas. Aquí está explicado en castellano.

---
Para más información de los peligros de metadatos (no sólo en imágenes) hay una interesante presentación de Leonardo Huertas en esta dirección:

Por cierto, en la presentación menciona el caso de Cat Schwartz que debe ser una famosa presentadora de televisión. Esta chica publicó una bonitas fotos en su blog pero dentro de los ficheros de imagen estaba la fotografía original en el que posa en topless. Es un caso que he visto en muchos sitios como ejemplo del peligro de los metadatos en fotografía.

Saludos.

sábado, noviembre 27, 2010

Metadatos e imágenes ocultas en fotografías


De vez en cuando vuelve a aparecer el tema de los metadatos en fotografías.

Hay múltiples ejemplos de gente que publica una foto retocada y resulta que a partir del fichero se puede obtener la foto original.

Además junto con la foto viajan datos como: la cámara utilizada, la apertura, la fecha y hora, el programa de edición utilizado, la fecha y hora de edición, etc. etc.

Resulta que en algunas cámaras de móviles parece ser que también puede ocurrir que se almacenen las coordenadas del GPS en el momento de la fotografía.

¿Que programas gratuitos utilizar para la lectura, edición y eliminación de metadatos?

En Mac OSX: Podemos usar el CocoViewX cuya web he puesto en la cabecera de este post.

De esta forma podemos ver la posible foto oculta (Thumbnail) y también se puede utilizar como un simple visor de fotografías (opciones de pantalla completa, paso de diapositivas, rotación, etc.).

Y si seleccionamos la foto y le damos al botón derecho y "obtener información", tendremos la información extra de la foto, la cámara, el momento, etc.





Los campos son editables y el programa permite también eliminar la información EXIF.

Mañana explico las opciones gratuitas en Windows.

Saludos.

jueves, noviembre 25, 2010

Navaja Suiza de Shell (Bash)

A la izquierda una imagen procedente de la Wikipedia.


Bash es un intérprete de comandos.



Se creo teniendo en cuenta la sintaxis utilizada en el Bourne Shell que era el estándar de facto en el mundo UNIX. El Bourne Shell lo desarrolló Stephen Bourne de los laboratorios Bell.


Volviendo al Bash, sus iniciales significan Bourne-Again Shell (otro shell Bourne). Born-Again significa Renacimiento. Se desarrolló para el proyecto GNU y ahora está ampliamente extendido en Linux, Mac OSX, UNIX, etc.

La documentación:

Aquí tenemos el manual de referencia del Bash.

Y lo que creo que es más útil que lo anterior:

Aurélio Marinho Jargas publicó un libro llamado Shell Script Profissional. Como apéndice del libro ha publicado la "navaja suiza de shell (bash)" y Gonzalo Nemmi lo ha traducido al castellano.

La Navaja Suiza de Shell (Bash) en Portugués.


La Navaja Suiza de Shell (Bash) en Castellano.

Saludos.

lunes, noviembre 22, 2010

Pequeños objetivos


Hola,

El sábado acudí a la cena homenaje de Eloy Corres, distinguido socio de la Excursionista Manuel Iradier que merece la insignia de oro que le dieron y mucho más.

Me encontré con korrikalaris de todas las edades y alguno me picaba un poco por eso de "con lo que tu andabas...y ahora...", "cómo has dejado tanto tiempo el deporte...", "...no te preocupes un día volverás...", "...lo malo es que no poder correr al ritmo que corrías desmolariza..."

Pues sí, me he decidido. Acabo de pesarme en el peso que siempre pesa de menos y marca 92 kg. El objetivo es hacer la media maratón de Vitoria-Gasteiz el 19 de diciembre de 2010.

El segundo objetivo es conseguir terminar vivo a ser posible la inhumana prueba de "Apuko igoera 2011" que siempre suele ser o nevando o con lluvia helada con desbordamiento de río incluido.

Todos los días pondré en la primera línea los kilómetros recorridos, a ver si es un elemento de motivación.

Ayer: 45 minutos. Ligera lluvia mañanera.
Hoy: 30 minutos. Ligera lluvia nocturna.

¿Qué objetivo tiene esta entrada aquí?
1.-Obligarme a mí mismo, ya que tampoco hay exceso de motivación.
2.-Animarle a otra persona si le pasa lo mismo que a mí (que no está a gusto con una vida excesivamente sedentaria).

Saludos.

domingo, noviembre 21, 2010

Crear un CD de instalación de HP-UX

Hace algún tiempo expliqué cómo generar una cinta de ignite en HP-UX. Lo que ocurre es que muchas veces luego el sistema no arranca de la cinta de ignite.

Para estos casos es conveniente crear un CD de instalación. Se tiene el CD preparado y si ocurre algo con los discos del sistema se ponen nuevos y se instala todo el sistema.

Para generar un CD:

Vamos al directorio /opt/ignite/data/scripts/examples y ejecutamos:

#./make_media_install -r B.11.31 -m

La opción -r es para indicar la versión del Sistema operativo (V3 en este caso).

Se generará una imagen .ISO que nos servirá para crear el CD.

Recuperación del sistema:

1.-Al arrancar hay un momento en el que el sistema nos dirá "to discontinue press within 10 seg".
Hacemos clic en cualquier tecla para interrumpir el arranque.

2.-Vamos al "boot option maintenance menú".

3.-Seleccionamos boot->CDROM si existe la opción. Si no hay esa opción hacemos ADD BOOT OPTION y creamos por ejemplo la entrada CDROM. El volumen a seleccionar será "removable media boot" y el data type Unicode.

4.- Se arranca por esa entrada CDROM.

5.-Se siguen las indicaciones. Nos preguntará el nombre de la máquina, la IP, etc. Es como una instalación completa a partir de un CD de Windows.

No olvidéis probarlo en un entorno de pruebas antes. Yo tuve problemas al arrancar del CD generado.

Saludos.

miércoles, noviembre 17, 2010

Carrera de camiones en el Jarama

El pasado 3 de octubre fui a ver las carreras de camiones del Jarama. Según el diario As había 70.000 espectadores.

Antes de las carreras había sesiones de exhibición. Las hubo de camiones clásicos, camiones americanos e incluso de motos.

Aquí el paso de un camión americano:


Camiones decorados y motos siguiéndolos.
Por cierto entre estos camiones he reconocido el Scania de Cazurrín decorado con Unicornios. No es que lo conozca en persona sino que es un aficionado a estos temas al que le hicieron una entrevista en la revista "Todo Camión" de hace unos meses.



También había una especie de zona reservada dónde estaban aparcados los camiones:




Y por último... la carrera:


Si puedo, el año que viene espero ir con mi propio camión. No a competir, sino a participar en la zona central de camiones.

Bueno, como hay que barrer un poco para casa, aquí una entrevista del navarro Javier Mariezkurrena realizada el día de la prueba.

Saludos.

domingo, noviembre 14, 2010

Transferencia de ficheros en UNIX y Linux


Voy a comentar algunas cosas obvias, y otras que me han pasado a mí con HP-UX (podrían no ser problemas generales).

scp (secure copy):

Ejemplos de uso:

scp -p -r servidorA:/datos .
Copia el directorio /datos del servidorA al directorio actual del servidor donde estemos.

Ventajas:
  • Para la transferencia de datos utiliza ssh (protocolo seguro).
  • Puedes limitar el uso del ancho de banda (opción -i en hp-ux).
  • Tiene la opción -p muy útil para preservar permisos y fechas de creación, modificación, etc.
  • Con la opción -r (recursiva) se copiarían los subdirectorios del directorio indicado.

Inconvenientes:
  • Es un protocolo seguro, lo cual significa que hay un cifrado. Esto hará que sea más lento que los protocolos inseguros.
  • En HP-UX tiene un comportamiento imprevisto con los enlaces simbólicos. En lugar de copiar el enlace sin más, hace también la descarga del fichero apuntado por el enlace. Esto puede ser un verdadero problema si tenemos "accesos directos" a ficheros gigantes. Para solucionarlo, antes del scp podemos empaquetar el contenido por medio de tar (ver abajo).

¿Qué significa lento para mí?

Hoy he tenido que mover con scp 1 fichero de 35 Gb.
Ha tardado 1 hora 50 minutos (110 minutos).
Por lo tanto mover 1 Gb le lleva 3,14 minutos.
O sea, que la media ha sido de 5,31 Mb/sg.
Con otros ficheros de tamaño similar he obtenido medias de 8,6 Mb/sg y 10,4 Mb/sg

Aquí pongo para comparar los ratios de escritura en cinta según hp (www.hp.com/go/storagemedia/dds):

DDS1 de 1990: 366 Kb/sg
DDS2 de 1993: 1,4 Mb /sg
DDS3 de 1996: 3 Mb / sg
DDS4 de 1999: 2-6 Mb /sg
DAT72 de 2003: >6 Mb /sg
DAT160 de 2007: >10 Mb /sg
DAT 7th gen: > 16 Mb /sg
DAT 8th gen: > 32 Mb /sg

ftp:


Ejemplos de uso del ftp que viene en windows:

ftp servidor (o bien ejecutar ftp y luego open servidor).
comando binary: va a hacer la transferencia en modo binario.
comando ascii: va a hacer la transferencia en modo ascii.
cd directorio para moverse a través de los directorios del servidor.
mget ficheros para traer múltiples ficheros (con las opciones de *,?).
mput ficheros para llevar múltiples ficheros.
bye para salir.

Ventajas:
  • Es el de toda la vida. Disponible en todos los servidores del mundo.
  • Al no cifrar es más rápido que el scp.
Inconvenientes:
  • Totalmente inseguro. El usuario y contraseña "viajan" en claro.
  • Normalmente deshabilitado en los servidores.
Tiempos registrados (el propio ftp te da la información al terminar):

Fichero de 34301726720 bytes en 5133,76 segundos (6524,99 Kbytes/s).
Esto da 6.681.599,20 bytes/s
O lo que es lo mismo (dividiendo entre 1024): 6,525 Mb/s.

Otro caso:

Fichero de 41178882048 bytes en 5813,19 segundos (6917, 67 Kbytes/s).
Esto da 7083697,94 bytes/s
Lo cual es (dividiendo entre 1024): 6,918 Mb/s

Aviso: realmente para pasar a Mb/s habría que haber dividido otra vez entre 1024 en lugar de entre 1000.

Aviso2: estos tiempos son con la red y el servidor origen a pleno rendimiento (a diferencia de los tiempos del scp).

sftp (secure file transfer program)

Ventajas:

  • A diferencia del anterior, éste es un protocolo seguro.
  • Se puede utilizar en modo interactivo o también en modo batch (con la opción -b se indic a un fichero batch).
  • Se puede habilitar la compresión.

Inconvenientes:

  • Utiliza ssh por debajo. Esto supone que hay cifrado y por lo tanto la copia tardará más.

tar (tape file archiver):

Ejemplos de uso:

Para empaquetar a un fichero .tar:
tar -cvf fichero.tar directorio

Para desenpaquetar
tar -xvf fichero.tar

Este no es un protocolo de transferencia de ficheros sino un comando para guardar o restaurar ficheros en cintas. También permite guardar una selección de ficheros en otro fichero en lugar de en una cinta (empaqueta). Por lo tanto puede ser interesante para el paso de ficheros de un sistema a otro.

Inconvenientes:
  • Resulta que en HP-UX no va bien con ficheros largos (más de 2 Gb), lo cual es un serio problema.
gzip/gunzip

En lugar de empaquetar (tar), así podemos comprimir.

Para comprimir:

Es habitual primero empaquetar para conseguir un fichero.tar
Y luego comprimir ese fichero:

gzip fichero.tar
El resultado será fichero.tar.gz

Para descomprimir:

gunzip fichero.gz



nfs (Network File System):

Ejemplos de uso:

mount servidorFuente:/datos/directorio-compartido /directorio

Por medio de NFS un servidor puede ofrecer un file system a otro. Esta puede ser una forma de poner ficheros a disposición de un servidor.

Ventajas:
  • No hay una copia de ficheros de un servidor a otro, sino que un servidor accede al file system del otro.
  • El acceso se habilita rápidamente sin tener que esperar horas y horas hasta pasar los ficheros. El problema es que al procesar esos ficheros en el servidor que accede vía NFS hay un tráfico de red que va a hacer lento el procesamiento.
Saludos.

miércoles, noviembre 10, 2010

Descargar vídeos flash desde Safari



Hola amig@s,

Hoy sólo voy a reproducir lo que pone en ese enlace: cómo descargar los vídeos flash desde el navegador por defecto en Mac OSX. (También se puede descargar el Safari para windows desde http://www.apple.com/safari/

La descarga se puede hacer sin ningún pluggin que es el hecho diferencial respecto a la mayoría de navegadores.

En el enlace que he indicado está muy bien explicado. Incluye imágenes y todo. Yo sólo voy a dejar un resumen por si algún día desaparece la información:

Habría que hacer lo siguiente:

1.-Ponerse a reproducir el vídeo en el navegador.
2.-En el menú principal entrar en VENTANA, ACTIVIDAD.
3.-Se nos mostrará una lista con un montón de archivos que han sido descargados (archivos html, css, gif, jpg, js, etc.). Tenemos que buscar el vídeo que se está reproduciendo. La pista es que será probablemente el único que ocupe decenas de Mb.
4.-Doble click en el fichero del vídeo para que inicie la descarga a la zona de DESCARGAS establecida.

Saludos.

martes, noviembre 09, 2010

Vim algo más que un editor de texto

En servidores UNIX no te queda otro remedio y hay que utilizar el vi, o el vi.

En Windows yo lo suelo utilizar por la facilidad de cifrado de ficheros y facilidad de búsqueda de cadenas. Ya hablé de esto en otra ocasión. En esa entrada hay enlaces interesantes a ayudas gráficas y al sitio de descarga.

Hoy quiero explicaros una herramienta sorprendente y muy útil integrado en el vim.

NETRW (Network oriented reading, writing, and browsing):

¿Queréis probarlo? Os va a sorprender.

Entra en el VIM y ejecuta :e c:
Te aparecerá algo así:

Vaya, ha abierto la unidad C:

Pero es que podemos navegar carpeta a carpeta.
En la propia cabecera nos muestra los comandos disponibles y las teclas que hay que pulsar (D: delete, R: rename, s: sort, x: ejecutar, etc.).

Lo bueno del vi y del vim es la gran rapidez, ya que no son aplicaciones pesadas. Esto hace que podamos movernos mucho más rápido que con el explorador de windows.

Pero NETRW es mucho más potente que esto.

Podemos utilizar múltiples protocolos de red. Todo disponible en el mismo editor. ¿Qué es más potente, Microsoft Word o vim? Vale, para editar texto el Word por razones obvias (vi es un editor de texto sin formato). Pero Vim sirve para muchas cosas más.


REMOTE EDITING
:e dav://machine[:port]/path uses cadaver
:e fetch://[user@]machine/path uses fetch
:e ftp://[user@]machine[[:#]port]/path uses ftp autodetects <.netrc>
:e http://[user@]machine/path uses http uses wget
:e rcp://[user@]machine/path uses rcp
:e rsync://[user@]machine[:port]/path uses rsync
:e scp://[user@]machine[[:#]port]/path uses scp
:e sftp://[user@]machine/path uses sftp

REMOTE READING
:Nread ? give help
:Nread "machine:path" uses rcp
:Nread "machine path" uses ftp with <.netrc>
:Nread "machine id password path" uses ftp
:Nread "dav://machine[:port]/path" uses cadaver
:Nread "fetch://[user@]machine/path" uses fetch
:Nread "ftp://[user@]machine[[:#]port]/path" uses ftp autodetects <.netrc>
:Nread "http://[user@]machine/path" uses http uses wget
:Nread "rcp://[user@]machine/path" uses rcp
:Nread "rsync://[user@]machine[:port]/path" uses rsync
:Nread "scp://[user@]machine[[:#]port]/path" uses scp
:Nread "sftp://[user@]machine/path" uses sftp

REMOTE WRITING
:Nwrite ? give help
:Nwrite "machine:path" uses rcp
:Nwrite "machine path" uses ftp with <.netrc>
:Nwrite "machine id password path" uses ftp
:Nwrite "dav://machine[:port]/path" uses cadaver
:Nwrite "ftp://[user@]machine[[:#]port]/path" uses ftp autodetects <.netrc>
:Nwrite "rcp://[user@]machine/path" uses rcp
:Nwrite "rsync://[user@]machine[:port]/path" uses rsync
:Nwrite "scp://[user@]machine[[:#]port]/path" uses scp
:Nwrite "sftp://[user@]machine/path" uses sftp
http: not supported!

REMOTE DIRECTORY BROWSING
:e [protocol]://[user]@hostname/path/
:Nread [protocol]://[user]@hostname/path/

LOCAL DIRECTORY BROWSING
:e /some/path/to/a/directory

Saludos.

lunes, noviembre 08, 2010

Copiar el crontab a un servidor HP-UX


Hola amig@s,

Hoy un tema muy sencillo, pero como todo hay que saber hacerlo bien.

Bueno ya sabéis lo que es el demonio cron. Es el equivalente al programador de tareas de Windows. He hablado de su fichero de configuración, el crontab varias veces:

Primero recordaba el peligro de matar un proceso que ha lanzado el demonio cron.

Luego hable de la sintaxis a utilizar al introducir entradas en el crontab.

Por último puse un ejemplo de script que hacía una export Oracle y por medio del crontab ejecutaba otro script que eliminaba los ficheros con cierta antigüedad.

Ahora supongamos lo siguiente:

Tenemos que llevar toda la configuración del crontab de un servidor a otro. En mi caso es un servidor HP-UX pero me imagino que será análogo a otros UNIX y Linux.

En la máquina origen haríamos:
#crontab -u usuario -l > /tmp/usuario.crontab

Se mueve el fichero usuario.crontab a la máquina destino.

En la máquina destino haríamos:
#crontab -u usuario < /tmp/usuario.crontab


Hacerlo de esa forma es lo correcto ya que además de la copia del fichero crontab, envía una señal SIGHUP al cron para indicarle que tiene que leer el fichero.

Otra opción podría ser la copia directa de los ficheros de /var/spool/cron/crontabs y luego reiniciar el cron:


/sbin/init.d/cron stop
/sbin/init.d/cron start

No he probado si esta segunda forma funciona sin más. La forma ortodoxa es la primera.

Saludos.

domingo, noviembre 07, 2010

Abrir ficheros en Pascal. Control de errores en lecturas de ficheros.

Continuando con el programa del otro día, necesitaba obtener una lista de ficheros.
Había ejecutado el comando dir, y el resultado se guardaba en un fichero de texto.

Cuando se abre un fichero tanto en el mítico Turbo Pascal como ahora en FreePascal hay que tener en cuenta que se pueden producir múltiples errores:
  1. El fichero puede que no exista.
  2. El fichero puede existir pero igual no tenemos permiso de lectura sobre él.
  3. Errores incomprensibles como el que me ha pasado a mí. El fichero existe pero FreePascal me da un error en tiempo de ejecución. Meto la comprobación de errores y sin hacer nada más ya no se produce el error.
  4. Otros errores.
La comprobación de errores se hace de esta forma:
{$I-}      // directiva del compilador para deshabilitar control de errores.
reset(varFichero);
{$I+} // directiva para habilitar el control de errores.
if IOResult = 0 then
//ejecución si no se ha producido ningún error.

El programa se queda así de momento:


 1 program aztertu;
2 uses
3 Dos;
4 var
5 shell : string;
6 listaFicheros: array[1..1000] of string;
7 fichListaFicheros: text;
8 numFicheros: integer;
9 i:integer;
10
11 procedure buscarFicheros(var listaFichero: array of string; var numFicheros: integer);
12 var
13 nombreFichero: string;
14 i:integer;
15 begin
16 assign(fichListaFicheros, 'ficheros');
17 {$i-}
18 reset(fichListaFicheros);
19 {$i+}
20 if IOResult=0 then
21 begin
22 i:=1;
23 while not eof(fichListaFicheros) do
24 begin
25 readln(fichListaFicheros,nombreFichero);
26 listaFicheros[i]:=nombreFichero;
27 i:=i+1
28 end;
29 numFicheros:=i-1;
30 end
31 else
32 writeln('No he podido escribir en este directorio');
33 end;
34
35 procedure tratarFichero(var nombre:string);
36 begin
37 writeln(nombre);
38 end;
39
40 begin
41 shell:=GetEnv('COMSPEC');
42 Exec(shell, '/C dir > ficheros');
43 buscarFicheros(listaFicheros,numFicheros);
44 writeln('LISTA DE FICHEROS:');
45 writeln('------------------');
46 for i:=1 to numFicheros do
47 tratarFichero(listaFicheros[i]);
48 end.
49

De momento el programa no hace nada. Sólo muestra la lista de ficheros:



Saludos.

jueves, noviembre 04, 2010

Ejecución de comandos desde FreePascal


Necesitaba un programa que ejecutara comandos Windows.

En la imagen de arriba tenemos un ejemplo que he encontrado en http://www.freepascal.org/


Hay que incluir la unidad DOS.
Luego hay que leer de las variables de entorno (o del sistema) dónde está el intérprete de comandos.
Y como ejemplo válido, sin más, le pasamos el equivalente a "dir > ficheros".

Saludos.

lunes, noviembre 01, 2010

Monitorización de Datacore


Ya he comentado alguna vez lo que se consigue con Datacore.
Es la virtualización de almacenamiento. Con un par de servidores Datacore sobre dos cabinas de discos consigues:

1.-Alta disponibilidad por replicación entre los servidores Datacore.
2.-Independencia respecto al hardware de almacenamiento.

Datacore se instala sobre servidores Windows, y hay que monitorizar los eventos que se produzcan. Un software gratuito para ello es EventSentry. Sobre esto escribí dos post hace algún tiempo:

  1. http://aitoreus.blogspot.com/2010/07/monitoriza-los-eventos-de-tus.html
  2. http://aitoreus.blogspot.com/2010/07/monitoriza-los-eventos-de-tus_20.html
El martes de la semana pasada tuvimos una reunión con el CEO de Datacore (también Presidente y fundador) George Teixeira, que mostró mucho interés en saber que tal nos iba con nuestra instalación. Aproveché para hacer una consulta técnica:

Los eventos que se producen en el servidor Windows son muchas veces de poca relevancia, y no tienen influencia en el funcionamiento de Datacore. Pregunté cuales son los eventos críticos que tienen que hacer saltar todas las alarmas.

Esta es la respuesta:

Las alarmas tienen que saltar por alertas producidas por los siguientes procesos:

  1. DcsHA (control del mirror entre los 2 servidores Datacore).
  2. DcsVLV (Gestión de la capacidad física de almacenamiento).
En el EventSentry hay que configurar dos "Event Log Packages" para que cualquier log de Aplicación, Seguridad o Sistema relacionados con estos procesos se nos notifique vía mail inmediatamente. El filtro se realiza con el campo "Event Source".




Saludos.