Hace más de 2 años, explicaba cómo habilitar las trazas de acceso en Oracle, y más tarde, cómo analizar cómodamente esas trazas.
El análisis de las trazas requería el acceso a una tabla del diccionario que se encuentra en el esquema SYS: tabla AUD$.
Lo lógico es que con el tiempo vayamos mejorando nuestro sistema e incorporemos trazas de otros sistemas diferentes. Así pues terminaremos creando un nuevo usuario Oracle que accederá a sus propios objetos, además de a la citada tabla SYS.AUD$.
Si hacemos algo así como SELECT * FROM SYS.AUD$ nos dará el siguiente error: "ORA-00942: table or view does not exist".
El problema se soluciona asignándole al nuevo usuario el privilegio del sistema:
GRANT SELECT ANY DICTIONARY TO "USUARIO"
Saludos.
viernes, diciembre 14, 2012
miércoles, diciembre 05, 2012
Oracle, el fichero spfile
Desde Oracle9 este es el fichero de inicialización de parámetros que se debe que utilizar. spfile es un fichero binario que no puedes editar, a diferencia del pfile que es de texto. Aquí tienes unas buenas razones para utilizar el spfile.
Para saber si la base de datos utiliza spfile o pfile:
SQL> SELECT DECODE(value, NULL, 'PFILE', 'SPFILE') "Init File Type"
FROM sys.v_$parameter WHERE name = 'spfile';
Para saber dónde está el fichero spfile:
SQL> show parameter spfile;
Arrancar la base de datos con otro pfile:
SQL> STARTUP PFILE='/oradata/fichero'
Saludos.
Etiquetas:
documentacion,
oracle
lunes, diciembre 03, 2012
UNIX, destrucción de metadata en un LV (Logical Volume)
A veces tienes que eliminar datos de un filesystem y quieres hacer algo más que el típico rm -R.
Esto dificultará un poco más una hipotética recuperación de datos:
Necesitamos un fichero algo grande como puede ser el kernel de UNIX:
ll /stand/vmunix
Escribimos los bloques del fichero elegido sobre el RLV (Raw Device del Logical Volume).
Si en el vgdatos tenemos un lvdatos por ejemplo:
dd if=/stand/vmunix of=/dev/vgdatos/rlvdatos bs=1024
Nota: En el comando dd indico el raw device rlvdatos y no el block device lvdatos.
Saludos.
Etiquetas:
documentacion,
hp-ux,
unix
viernes, noviembre 30, 2012
Reiniciar servicio Dataprotector
Cuando lanzas un backup con el software de HP Dataprotector y te ves obligado a cancelarlo, un error frecuente es matar la sesión desde el propio GUI. Digo esto porque los devices siguen con la recuperación y si necesitas repetir el restore puedes tener problemas.
Consejo:
Reiniciar el servicio Dataprotector.
#/opt/omni/sbin/omnisv -stop
#/opt/omni/sbin/omnisv -start
Para ver los servicios arrancados:
# /opt/omni/sbin/omnisv -status
ProcName Status [PID]
===============================
rds : Active [4975]
crs : Active [4979]
mmd : Active [4977]
kms : Active [4978]
omnitrig: Active
uiproxy : Active [4981]
Sending of traps disabled.
===============================
Status: All Data Protector relevant processes/services up and running.
Aquí el enlace a un útil documento PDF de resolución de problemas con Dataprotector.
Saludos.
Etiquetas:
dataprotector
jueves, noviembre 29, 2012
Oracle: cambio de juego de caracteres
Hay un tipo de cambios de juego de caracteres muy sencillo: Ocurre cuando tenemos un juego de caracteres limitado y queremos cambiar a un superconjunto (superset) mayor. Si no es así, no emplear este método. Toca documentarse mejor.
Por ejemplo es habitual cambiar el clásico WE8ISO8859P1 que no soporta el símbolo del euro (€) por el juego de caracteres WE8MSWIN1252 que incorpora todos los caracteres del anterior más otros muchos más (entre ellos el del euro).
En este caso el cambio es muy sencillo.
$sqlplus "/as sysdba"
Primero comprobamos que estamos en el host y la instancia adecuada (host_name e instance_name):
SELECT * FROM V$INSTANCE;
Luego conviene que nos aseguremos del juego de caracteres actual. Nos fijamos en el parámetro NLS_CHARACTERSET:
SELECT * FROM V$NLS_PARAMETERS;
SHUTDOWN IMMEDIATE;
STARTUP RESTRICT;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE CHARACTER SET WE8MSWIN1252;
Comprobación:
SELECT * FROM V$NLS_PARAMETERS;
Saludos,
Etiquetas:
documentacion,
oracle
miércoles, noviembre 28, 2012
Hoy otro más...
Cada vez ponen estas noticias en lugares menos destacados, y en la radio ni lo mencionan, pero el goteo es incesante. ¿Cuantos suicidios hay al día? Probablemente la cifra sea de asustar y por eso se silencia.
Noticia aquí.
Noticia aquí.
Etiquetas:
denuncia social,
noticias
sábado, noviembre 24, 2012
Ya está bien!!! Que la gente se está suicidando!!!
¡¡¡Pero qué es esto!!!
¡¡¡Que la gente se está suicidando!!!
¿¿¿QUE OS PASA A LOS POLÍTICOS QUE NO OS ENTERÁIS DE LO QUE PASA O ES QUE OS DA IGUAL TODO???
¿¿¿EN QUÉ ANDAN PENSANDO LOS SINDICATOS??? ¿¿¿LA EXTRA DE NAVIDAD??? ¿¿¿QUÉ IMPORTA ESO CUANDO LA GENTE SE SUICIDA??? ¿¿¿CUANDO EMPIEZAN LAS MANIFESTACIONES POR LO MUERTOS???
¡En un lugar civilizado no se deja a la gente en la intemperie sin techo!
¿Qué tipo de libertad es esa que disfrutamos?
Políticos, funcionarios instructores, inspectores, policía, ¡Dejad ya de abrasar a multas e inspecciones a los transportistas que están todos arruinados! No conocéis la realidad. Seguís pensando que los fontaneros están forrados. Vais a conseguir que se suiciden todos y luego ya no les podréis exprimir más. El sistema ahora mismo no se puede mantener a base de multas e impuestos.
Fuente aquí.
Fuente: aquí.
¡¡¡Que la gente se está suicidando!!!
¿¿¿QUE OS PASA A LOS POLÍTICOS QUE NO OS ENTERÁIS DE LO QUE PASA O ES QUE OS DA IGUAL TODO???
¿¿¿EN QUÉ ANDAN PENSANDO LOS SINDICATOS??? ¿¿¿LA EXTRA DE NAVIDAD??? ¿¿¿QUÉ IMPORTA ESO CUANDO LA GENTE SE SUICIDA??? ¿¿¿CUANDO EMPIEZAN LAS MANIFESTACIONES POR LO MUERTOS???
¡En un lugar civilizado no se deja a la gente en la intemperie sin techo!
¿Qué tipo de libertad es esa que disfrutamos?
Políticos, funcionarios instructores, inspectores, policía, ¡Dejad ya de abrasar a multas e inspecciones a los transportistas que están todos arruinados! No conocéis la realidad. Seguís pensando que los fontaneros están forrados. Vais a conseguir que se suiciden todos y luego ya no les podréis exprimir más. El sistema ahora mismo no se puede mantener a base de multas e impuestos.
Fuente aquí.
Fuente: aquí.
Etiquetas:
denuncia social,
noticias
martes, noviembre 20, 2012
Actualidad. 20-11-2012
Aquí una buena noticia (¡increible!)
Fuente: elmundo.es
Aquí la mala: (¡menuda justicia/jueces tenemos! yo tampoco veo telebasura. Espero que no me demanden por decirlo en un blog, aunque todo es posible)
Fuente: elcorreo.com
La sorprendente:
Fuente: elconfidencial.com
La tecnológica:
Fuente: cotizalia.com
Etiquetas:
noticias
lunes, noviembre 19, 2012
Oracle, forzar la parada de la base de datos
Cuando hay usuarios conectados, o procesos Oracle lanzados en el servidor, la parada puede resultar problemática.
SQL> SHUTDOWN IMMEDIATE
Las sesiones no activas las va cerrando con esta orden, pero los procesos en ejecución continúan y hasta que terminen todos no va a hacer la parada.
Si nos vamos a casa al día siguiente podemos ver que la orden "shutdown immediate" se ha interrumpido y la base de datos no ha llegado a pararse.
Solución 1: NO HACER ESTO. Se trata de forzar la parada con un "shutdown abort". De esta forma fuerzas la parada, pero cuando vaya a arrancarlo te puedes encontrar todo tipo de sorpresas desagradables.
Solución 2: La buena:
El problema es que una vez que lanzas el "shutdown immediate", la base de datos no va a aceptar nuevas conexiones así que lo más limpio va a ser matar esos procesos que nos impiden parar la base de datos, desde la cuenta de root del sistema operativo.
El listado de procesos Oracle No locales a la máquina (procesos de usuarios) se obtiene así:
# ps -ef|grep oracle|grep LOCAL=NO
En la 2ª columna del listado tenemos el pid del proceso, por lo que podemos hacer esto para pasárselo al comando KILL:
# ps -ef | grep oracle |grep LOCAL=NO | awk {'print "kill -9 " $2'}
kill -9 27964
kill -9 2093
kill -9 2347
kill -9 26055
kill -9 5591
kill -9 26051
kill -9 29097
kill -9 25591
kill -9 25587
kill -9 16100
kill -9 5005
kill -9 2095
kill -9 7202
kill -9 13927
kill -9 12817
kill -9 14659
kill -9 26049
kill -9 26053
kill -9 29095
kill -9 14558
kill -9 10754
kill -9 2605
...
...
Saludos.
pd: ¡Que bueno el awk!
SQL> SHUTDOWN IMMEDIATE
Las sesiones no activas las va cerrando con esta orden, pero los procesos en ejecución continúan y hasta que terminen todos no va a hacer la parada.
Si nos vamos a casa al día siguiente podemos ver que la orden "shutdown immediate" se ha interrumpido y la base de datos no ha llegado a pararse.
Solución 1: NO HACER ESTO. Se trata de forzar la parada con un "shutdown abort". De esta forma fuerzas la parada, pero cuando vaya a arrancarlo te puedes encontrar todo tipo de sorpresas desagradables.
Solución 2: La buena:
El problema es que una vez que lanzas el "shutdown immediate", la base de datos no va a aceptar nuevas conexiones así que lo más limpio va a ser matar esos procesos que nos impiden parar la base de datos, desde la cuenta de root del sistema operativo.
El listado de procesos Oracle No locales a la máquina (procesos de usuarios) se obtiene así:
# ps -ef|grep oracle|grep LOCAL=NO
En la 2ª columna del listado tenemos el pid del proceso, por lo que podemos hacer esto para pasárselo al comando KILL:
# ps -ef | grep oracle |grep LOCAL=NO | awk {'print "kill -9 " $2'}
kill -9 27964
kill -9 2093
kill -9 2347
kill -9 26055
kill -9 5591
kill -9 26051
kill -9 29097
kill -9 25591
kill -9 25587
kill -9 16100
kill -9 5005
kill -9 2095
kill -9 7202
kill -9 13927
kill -9 12817
kill -9 14659
kill -9 26049
kill -9 26053
kill -9 29095
kill -9 14558
kill -9 10754
kill -9 2605
...
...
Saludos.
pd: ¡Que bueno el awk!
Etiquetas:
documentacion,
oracle
sábado, noviembre 17, 2012
Juego sucio de Google???
Estaba leyendo el diario de hojas salmón "Expansión" de ayer, y me he encontrado un curioso anuncio: "En 2009, una penalización no especificada por parte de Google redujo nuestro tráfico de visitantes en más de un 90% de la noche a la mañana. Prácticamente, desaparecimos de Internet durante más de nueve meses".
Supuestamente son palabras del CEO de "One News Page": http://www.onenewspage.com/
El anuncio es de una iniciativa llamada ICOMP para defender el comercio online competitivo.
La verdad es que si lo que dice es cierto (leer los siguientes dos párrafos del anuncio), se trataría de un juego sucio que podría anular por invisibilidad cualquier sitio web de un plumazo. De momento veo que onenewspage tiene un pagerank de 5 que no está nada mal. Espero que la cosa tenga su explicación.
Por mirar algo he comprobado que en lo que llevamos de año, OneNewsPage ha recibido por parte de Google 7 peticiones de retirada de contenido por vulnerar derechos de autor. En principio no parecen muchas, y se supone que cuando recibes un aviso de esos, haces caso y lo retiras.
En todo caso, que todo el mundo utilice el mismo buscador siempre será "peligroso".
Saludos.
Etiquetas:
internet
martes, noviembre 13, 2012
Calcular distancia entre dos ciudades con PERL
Como decía el otro día, necesito un programa que calcule distancias entre ciudades. No puedo ir a GOOGLE MAPS y hacerlo a mano porque hablamos de una tabla completa.
Hoy vamos a utilizar PERL.
Necesitamos descargar e instalar el módulo JSON. El sitio de descarga éste. Descargamos el fichero JSON-2.53.tar.gz. Con gunzip fichero.gz obtenemos el fichero JSON-2.53.tar. Luego con tar -xvf fichero.tar obtenemos el directorio que contiene los ficheros del módulo.
Luego compilamos el módulo:
El resultado de la ejecución:
perl distancia.pl
65.311 kilometros
Código fuente descargado de aquí, aunque se han hecho un par de modificaciones.
Más información y ejemplos en la documentación de Google aquí.
Saludos,
Hoy vamos a utilizar PERL.
Necesitamos descargar e instalar el módulo JSON. El sitio de descarga éste. Descargamos el fichero JSON-2.53.tar.gz. Con gunzip fichero.gz obtenemos el fichero JSON-2.53.tar. Luego con tar -xvf fichero.tar obtenemos el directorio que contiene los ficheros del módulo.
Luego compilamos el módulo:
- perl Makefile.PL
- make
- make test
- make install
#!/usr/bin/perl use strict; use warnings; use JSON; use LWP::UserAgent; my $ua = LWP::UserAgent->new(); my $origin = "Vitoria-Gasteiz"; my $destination = "Bilbao"; my $site = 'http://maps.googleapis.com/maps/api/directions/'; my $mode = 'json'; my $page = $site . $mode . '?origin="' . $origin . '"&destination="' . $destination . '"&sensor=false'; my $response = $ua->get( $page ); my $json = $response->content(); my $data = decode_json $json; my @legs = @{ $data->{'routes'}[0]{'legs'} }; my $distance_meters = 0; foreach my $leg (@legs) { $distance_meters += $leg->{'distance'}{'value'}; } my $distance_kilometers = $distance_meters / 1000; print $distance_kilometers . " kilometros\n";
El resultado de la ejecución:
perl distancia.pl
65.311 kilometros
Código fuente descargado de aquí, aunque se han hecho un par de modificaciones.
Más información y ejemplos en la documentación de Google aquí.
Saludos,
Etiquetas:
googlemaps,
perl
lunes, noviembre 05, 2012
Problema del módulo Geo-Google (PERL)
CPAN es el repositorio de módulos de PERL (entre otras cosas). Ayer quería hacer un programita PERL que interrogue a Google Maps para calcular distancias entre dos ciudades.
Encontré un módulo que precisamente para hacer eso. Se llamaba GEO::GOOGLE
El caso es que para "coger destreza" en el desempaquetado (gunzip y tar), y el compilado de módulos:
perl Makefile.PL
make
make test
make install
Y sobre todo para saber identificar los errores y warnings que surgen a lo largo del proceso, decidí instalar cada dependencia a mano. En total instalé 23 módulos:
[root@xekun perl]# ls -la
total 100
drwxr-xr-x. 25 root root 4096 Nov 5 09:04 .
drwxr-xr-x. 3 aitor aitor 4096 Nov 5 00:31 ..
drwxr-xr-x. 8 aitor aitor 4096 Nov 5 00:15 Compress-Raw-Bzip2-2.055
drwxr-xr-x. 9 aitor aitor 4096 Nov 5 00:06 Compress-Raw-Zlib-2.056
drwxr-xr-x. 5 501 games 4096 Nov 4 22:15 Digest-MD5-2.52
drwxr-xr-x. 5 501 games 4096 Nov 4 23:48 Encode-Locale-1.03
drwxr-xr-x. 5 501 games 4096 Nov 4 23:46 File-Listing-6.04
drwxr-xr-x. 5 root root 4096 Nov 5 00:39 Geo-Google
drwxr-xr-x. 7 501 games 4096 Nov 5 00:22 HTML-Parser-3.69
drwxr-xr-x. 4 500 500 4096 Nov 4 23:08 HTML-Tagset-3.20
drwxr-xr-x. 5 501 games 4096 Nov 4 23:44 HTTP-Cookies-6.01
drwxr-xr-x. 5 501 games 4096 Nov 4 23:33 HTTP-Daemon-6.01
drwxr-xr-x. 5 501 games 4096 Nov 4 23:09 HTTP-Date-6.02
drwxr-xr-x. 5 501 games 4096 Nov 5 00:18 HTTP-Message-6.06
drwxr-xr-x. 5 501 games 4096 Nov 4 23:45 HTTP-Negotiate-6.01
drwxr-xr-x. 8 aitor aitor 4096 Nov 5 00:17 IO-Compress-2.055
drwxr-xr-x. 5 aitor aitor 4096 Nov 5 00:09 IO-HTML-0.04
drwx------. 5 1006 513 4096 Nov 5 00:27 JSON-1.12
drwxr-xr-x. 6 500 500 4096 Nov 5 00:29 JSON-2.53
drwxr-xr-x. 6 500 500 4096 Nov 5 00:32 JSON-PP-2.27200
drwxr-xr-x. 6 501 games 4096 Nov 4 23:47 libwww-perl-6.04
drwxr-xr-x. 5 501 games 4096 Nov 4 23:35 LWP-MediaTypes-6.02
drwxr-xr-x. 5 501 games 4096 Nov 4 23:46 Net-HTTP-6.03
drwxr-xr-x. 5 501 games 4096 Nov 5 00:19 URI-1.60
drwxr-xr-x. 5 501 games 4096 Nov 4 23:30 WWW-RobotRules-6.02
Bueno, total que quedó todo perfectamente instalado y funcionando, menos el dichoso módulo GEO::GOOGLE
Entonces se me ocurrió mirar los resultados de los testers del módulo y me encontré con esta desagradable sorpresa:
Como se puede ver en el enlace, no funciona prácticamente en ningun S.O. ni versión de PERL.
Lección aprendida: Antes de usar un módulo CPAN comprobar los resultados de los Testers.
Saludos,
Etiquetas:
googlemaps,
perl
viernes, octubre 26, 2012
Oracle, aumentar número de conexiones
Cómo se percibe este problema:
A veces ocurre algo extraño. Algunos usuarios trabajan sin problemas con la base de datos, pero hay usuarios que se quejan de errores en las aplicaciones. El mensaje "debidamente" o no traducido por la aplicación dirá algo así: "Oracle rechaza la conexión", "No se puede conectar a la base de datos", o lo que se la haya ocurrido al programador.
Consejo para desarrolladores: Estaría bien que cuando se captura un error provocado por otro sistema, además de la interpretación de lo que ocurre se ofrezca el error exacto que en caso de Oracle tiene que ser un error ORA-número.
Si nos conectamos sysdba el error en Oracle11.2 es el siguiente:
$sqlplus "/as sysdba"
Connected
SQL> ponemos cualquier sentencia válida
ERROR al line 1:
ORA-01012: not logged on
Lo que ocurre es que hemos llegado al número de procesos máximos definido en nuestra base de datos. La solución es ver los que tenemos y aumentarlos.
Nota: para poder conectarnos, cambiar el parámetro, y reiniciar la base de datos, tendremos que matar procesos desde el sistema operativo. Obtener los procesos Oracle de usuario haciendo:
ps -ef|grep LOCAL=NO
Para ver el valor del parámetro de procesos máximos:
SQL> show parameter processes;
Para aumentarlo (requiere reinicio):
SQL>alter system set processes=5000 scope=spfile;
SQL>shutdown immediate;
SQL>startup
Saludos.
Etiquetas:
documentacion,
oracle
miércoles, octubre 24, 2012
oracle, impdp error ORA-39070
A vece te ocurre un error en la import datapump de Oracle, que no identifica claramente lo que está ocurriendo.
Éste es el caso del error ORA-39070: Unable to open the log file.
Antes de volverte loco examinando el paquete UTL_FILE, ten en cuenta lo siguiente:
ORACLE utiliza UTL_FILE para leer o escribir ficheros de texto. Cuando utilizas la import datapump (impdp) tienes que indicar el directorio con el parámetro DIRECTORY=
En DIRECTORY no se pone directamente el directorio, sino que antes de lanzar el impdp tiene que existir el objeto tipo directorio. Podemos crearlo con un fichero SQL como éste:
CREATE OR REPLACE DIRECTORY DATA_PUMP_DIR AS '/mis_exports/lunes/';
GRANT READ, WRITE ON DIRECTORY DATA_PUMP_DIR TO SYSTEM;
EXIT;
Pues si el directorio está mal indicado, o si no existe el objeto DATA_PUMP_DIR (en mi ejemplo), o no hemos dado el GRANT al usuario que lanza la import, ORACLE no será capaz de escribir el fichero de LOG y fallará el impdp dando el error indicado.
Saludos,
Éste es el caso del error ORA-39070: Unable to open the log file.
ORA-39002: invalid operation
ORA-39070: Unable to open the log file.
ORA-29283: invalid file operation
ORA-06512: at "SYS.UTL_FILE", line 536
ORA-29283: invalid file operation
Antes de volverte loco examinando el paquete UTL_FILE, ten en cuenta lo siguiente:
ORACLE utiliza UTL_FILE para leer o escribir ficheros de texto. Cuando utilizas la import datapump (impdp) tienes que indicar el directorio con el parámetro DIRECTORY=
En DIRECTORY no se pone directamente el directorio, sino que antes de lanzar el impdp tiene que existir el objeto tipo directorio. Podemos crearlo con un fichero SQL como éste:
CREATE OR REPLACE DIRECTORY DATA_PUMP_DIR AS '/mis_exports/lunes/';
GRANT READ, WRITE ON DIRECTORY DATA_PUMP_DIR TO SYSTEM;
EXIT;
Pues si el directorio está mal indicado, o si no existe el objeto DATA_PUMP_DIR (en mi ejemplo), o no hemos dado el GRANT al usuario que lanza la import, ORACLE no será capaz de escribir el fichero de LOG y fallará el impdp dando el error indicado.
Saludos,
Etiquetas:
documentacion,
oracle
martes, octubre 23, 2012
Día triste para el ciclismo
Hoy es un día triste para el ciclismo, pero más triste hubiera sido que una trama que el propio sistema (equipos e instituciones, en especial la UCI) ocultó durante años por intereses económicos, hubiera quedado impune.
El que no sabe lo que ha ocurrido en el ciclismo en los tiempos de los corruptos médicos deportivos es libre de opinar lo que quiera.
Ahora bien, quien conoce el tema mejor que nadie, haría bien en callarse en lugar de defender lo indefendible. Si no tienen ninguna ética que lo hagan por lo menos por el ciclismo que tanto les ha dado. Algunos parece que quieren defenderse a sí mismos defendiendo a Armstrong.
España el paraiso de los tramposos.
Mikelats.
El que no sabe lo que ha ocurrido en el ciclismo en los tiempos de los corruptos médicos deportivos es libre de opinar lo que quiera.
Ahora bien, quien conoce el tema mejor que nadie, haría bien en callarse en lugar de defender lo indefendible. Si no tienen ninguna ética que lo hagan por lo menos por el ciclismo que tanto les ha dado. Algunos parece que quieren defenderse a sí mismos defendiendo a Armstrong.
España el paraiso de los tramposos.
Mikelats.
miércoles, octubre 17, 2012
CentOS, instalación de software a través de PROXY
En CentOS (y por lo tanto en Red Hat Enterprise Linux), tal y como viene la configuración de YUM por defecto, las instalaciones no funcionan si para la conexión a Internet es necesario utilizar un servidor proxy.
El mensaje de error dice algo así: "...Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6..." y también "Cannot find a valid baseurl for repo: base".
Solución:
Modificar el fichero de configuración de yum:
vi /etc/yum.conf
Añadiendo estas líneas:
proxy=http://nombre_servidor:puerto
proxy_username=usuario
proxy_password=password
Saludos.
jueves, octubre 11, 2012
Artículo sobre el editor VI
Imagen que he traído del artículo al que me refiero, aunque el autor a su vez lo copió de otro sitio:
Hola,
Aquí un interesante artículo sobre el editor VI, con algunos motivos para utilizarlo a pesar de lo complicado que pueda resultar. La verdad es que yo lo utilizo cada día más para hacer anotaciones, actas de reunión, editar ficheros de configuración, analizar logs, etc. etc.
Cuando hay que generar un resultado a partir de un fichero de texto suelo utilizar PERL, pero está claro con el ejemplo de MACRO que aparece en el artículo que se pueden hacer muchas cosas sin salir del propio VI.
Saludos,
Hola,
Aquí un interesante artículo sobre el editor VI, con algunos motivos para utilizarlo a pesar de lo complicado que pueda resultar. La verdad es que yo lo utilizo cada día más para hacer anotaciones, actas de reunión, editar ficheros de configuración, analizar logs, etc. etc.
Cuando hay que generar un resultado a partir de un fichero de texto suelo utilizar PERL, pero está claro con el ejemplo de MACRO que aparece en el artículo que se pueden hacer muchas cosas sin salir del propio VI.
Saludos,
martes, octubre 09, 2012
Actualización de CentOS
El otro día actualicé un portátil Ubuntu y ahora me toca hacer lo mismo con el CentOS.
¿Por qué Ubuntu y CentOS?
Con estos párrafos no quiero polemizar. Sólo son los principales motivos por los que instalé esas distribuciones. Seguro que hay buenas razones para utilizar otras.
Un motivo para utilizar Ubuntu como Linux de escritorio es que en mi opinión hay soporte de usuarios a raudales, y el impulso de una empresa que consigue que cualquier cosa que le acoples (modem Internet de cualquier proveedor, impresoras, internet wifi, etc.) funcione sin problemas. Además al estar basado en Debian aprenderás a manejar los paquetes .deb
El motivo para usar CentOS es que al ser un binario compatible Red Hat Enterprise Linux, es una excelente opción para S.O. de servidor (bases de datos, etc.). El problema de Red Hat es que las actualizaciones no siempre son fáciles de conseguir (debido a la propia política de la empresa). Y el problema de CentOS es que no está soportado por ORACLE. Esto no quiere decir que no funcione. Sólo supone que si tienes problemas con la base de datos, el soporte Oracle pasará del tema. Por último, esta distribución viene muy bien para manejar los paquetes .rpm
Bueno, y ahora a lo que iba: la actualización de Centos.
Vemos la versión actual:
cat /etc/centos-release
Centos release 6.2 (Final)
Lanzo la actualización:
su -c 'yum update'
Esta actualización nos avisa en seguida que: Total download size: 651M.
Después de la actualización:
cat /etc/centos-release
Centos release 6.3 (Final)
Si hemos instalado CentOS en un servidor y queremos programas la actualización diaria a las 4 a.m.:
su -c '/sbin/chkconfig --level 345 yum on; /sbin/service yum start'
Fuente aquí.
Saludos.
domingo, octubre 07, 2012
Linux, 32 bits o 64 bits
Ayer contaba la actualización de mi Ubuntu. Se me ha actualizado a 12.04.1 LTS. Ahora me ha entrado la curiosidad por el estado de la ciencia entre los 32 y 64 bits. La novedad a partir de esta versión 12.04 (Abril de 2012), es que Ubuntu recomienda claramente la versión de 64 bits si nuestro procesador lo soporta.
Podemos ver aquí que "Unless you have specific reasons to choose 32-bit, we recommend 64-bit to utilise the full capacity of your hardware."
Para ver si la versión del sistema operativo es de 32 o 64 bits:
uname -a
Si aparece x86, i386,... tenemos el de 32 bits.
Si aparece x86_64 es de 64 bits.
En mi caso es de 32 bits.
En cuanto al procesador que tengo, aquí veo que mi procesador Intel Core 2 Duo U7500 es de 64 bits.
Como segunda comprobación, seguimos el consejo de la página de Ubuntu: Podemos comprobar si tenemos un procesador de 64 bits de esta forma:
grep --color=always -iw lm /proc/cpuinfo
Si entre los flags que se muestran aparece en color "lm" pues fenomenal. Podemos instalar la versión de 64 bits.
Ahora bien, a pesar de lo que dice Ubuntu he decidido no instalar esa versión por tres motivos:
PRIMERO.-Mi portátil tiene sólo 2Gigas. No sufro la limitación de direccionamiento de 3 Gigas de los 32 bits.
SEGUNDO.-El cambio supondría que para las mismas aplicaciones que tenemos abiertas consumamos más memoria RAM. Teóricamente Ubuntu irá más rápido a 64 bits, pero no quiero sorpresas desagradables.
TERCERO: De momento no hay actualización directa (al menos es lo que creo). Se debe instalar el nuevo sistema operativo de 64 bits desde cero.
Si todavía tienes dudas mira aquí los pros y contras.
Saludos.
viernes, octubre 05, 2012
Actualización de Ubuntu
Hola,
Después de un año sin actualizar Ubuntu ha llegado la hora de hacerlo.
Esta distribución suele actualizarse cada 6 meses. Suele ser en abril y octubre.
Yo tenía la versión 11.10. Para comprobarlo hacemos:
cat /etc/issue
Para la actualización, desde la misma terminal ejecuto:
sudo do-release-upgrade -d
Notas importantes:
La actualización dura unas cuantas horas, y una vez lanzada no se debe interrumpir.
Si es en un portátil no olvides conectarlo a la corriente.
Saludos,
miércoles, octubre 03, 2012
Windows, búsqueda dentro de archivos
Hola,
Hace algún tiempo expliqué por qué en algunos Windows la búsqueda no encuentra ningún texto dentro de ficheros con una extensión concreta. Eso ocurría porque Windows busca en extensiones "conocidas". La solución era añadir el "filtro" que necesitaba.
Hoy me encuentro en un PC que tiene el filtro para documentos .doc pero las búsquedas de texto no encuentran nada dentro de esos documentos.
Lo arreglo así (estoy en un Windows Vista):
1.-Ir al Panel de Control.
2.-Entrar en "Opciones de indización".
3.-Ahora en "Opciones avanzadas".
4.-Entrar en la pestaña "Tipos de Archivo".
Nos encontraremos con esto:
A la pregunta ¿Cómo se debe indizar este archivo?
Respondemos con "Indizar las propiedades y el contenido del archivo". De esta forma se resuelve el problema.
Saludos.
Etiquetas:
windows,
windows vista
domingo, septiembre 30, 2012
Más sobre la corrupción política...
Artículo de Stefanie Claudia Müller, corresponsal alemana en Madrid y economista, publicado el jueves en Alemanía
Traducción de un artículo publicado el jueves en varios periódicos
económicos alemanes, por su corresponsal en España
Hoy, 6 de septiembre, se encuentran en Madrid los gobiernos de Alemania
y España, acompañados de un nutrido grupo de empresarios, y donde
seguro hablarán sobre las condiciones para poder otorgar más ayudas
financieras a España o a su sistema bancario. En los dos lados se ha
elevado el tono en los últimos meses y es con gran expectación que
España espera ahora la decisión que va a tomar el Tribunal
Constitucional alemán, que esa sí es crucial, el día 12, sobre la
conformidad o no del rescate europeo y las obligaciones derivadas para
los alemanes.
En Alemania crece la critica contra la supuesta "mentalidad de fiesta"
de los españoles; en España los medios cada vez son más negativos con
la supuesta dureza de la canciller Merkel. Pensamos que la situación es
mucho más compleja de lo que presentan ambos gobiernos y la mayoría de
los medios. España no es Grecia, pero España puede ser un paciente
crónico si Alemania, junto con Europa, no contribuye a solucionar sus
verdaderos problemas.
España no debería recibir más dinero sin que se cambie a fondo el
sistema político y económico, hoy en manos de una oligarquía política
aliada con la oligarquía económica y financiera, y sin que se aumente
la participación ciudadana real en las decisiones políticas. Para no
perpetuar la crisis y endeudar a los españoles durante generaciones, el
Gobierno español debe reformar a fondo la administración de las
comunidades autónomas y los ayuntamientos, en su mayoría en bancarrota
y completamente fuera de control, sometiendo a referéndum el modelo de
Estado.
Este tema es la clave del futuro de España, porque las regiones,
ayuntamientos y diputaciones son los responsables de los dos tercios
del gasto público -234.000 millones frente a 118.000 el Estado en
2011-, excluyendo la Seguridad Social -23.000 millones-, y este gasto
se realiza en condiciones de descontrol, despilfarro y corrupción
totalmente inaceptables. Las razones verdaderas de la crisis del país,
en consonancia con lo dicho, nada tienen que ver con salarios demasiado
altos -un 60 % de la población ocupada gana menos de 1.000 euros/mes-,
pensiones demasiado altas -la pensión media es de 785 euros, el 63% de
la media de la UE-15- o pocas horas de trabajo, como se ha trasmitido a
veces desde Alemania. A España tampoco le falta talento, ni capacidad
empresarial ni creatividad. Tiene grandes pensadores, creativos,
ingenieros, médicos excelentes y gestores de primer nivel.
La razón de la enfermedad de España es un modelo de Estado inviable,
fuente de todo nepotismo y de toda corrupción, impuesto por una
oligarquía de partidos en connivencia con las oligarquías financiera y
económica, y con el poder judicial y los organismos de control a su
servicio. En España no existe separación de poderes, ni independencia
del poder judicial, ni los diputados representan a los ciudadanos, solo
a los partidos que los ponen en una lista. Todo esto lleva también a
una economía sumergida que llega al 20% del PIB y que frena la
competencia, la eficacia y el desarrollo del país. Además, detrae
recursos con los que podrían financiarse educación y sanidad.
Las ayudas para España, igual que para otros posible candidatos de
rescates, no deben ir a bancos ya casi en bancarrota y fuertemente
politizados. En la CAM, el Gobierno ha comprometido 16.000 millones de
dinero público en lugar de cerrarla; en Bankia, 23.000, y el Ejecutivo
acaba de darle 5.000 millones urgentemente para cubrir pérdidas en vez
de cerrarla, y además de forma tan extraña que despierta todo tipo de
recelos. ¿Por qué se ha utilizado el dinero de los españoles (FROB) en
vez de esperar los fondos de la UE? Es lícito suponer que la razón es
la siguiente: los bancos no quieren que la UE investigue sus cuentas.
Control estricto y duras condiciones. Ya el caso de Grecia ha
demostrado que las ayudas europeas tienen que estar vinculadas a un
control estricto y condiciones duras. Esas condiciones no pueden
solamente representar recortes sociales o subidas brutales de
impuestos, como hace ahora el Gobierno de Mariano Rajoy con la excusa
de Europa . Se tiene que cambiar más en España que cortar gasto social,
que de todos modos es mucho más bajo que en Alemania, y hay otros
gastos infinitamente más relevantes que se pueden eliminar. Además, los
casos de corrupción resultan tan escandalosos, incluso en el propio
Gobierno, que uno solo puede llegar a una conclusión: el dinero de
Europa no puede ser manejado por personas tan increíblemente venales.
La pasada semana el ministro de Industria Soria -imputado también por
corrupción urbanística en Canarias- acusó al ministro de Hacienda en el
Consejo de Ministros de favorecer descaradamente a la empresa líder de
renovables, Abengoa, de la que había sido asesor, en la nueva
regulación de estas energías, que reciben más de 7.000 millones de
euros de subvenciones anualmente. Y Rajoy, al que entregó una carta
probatoria, ni dijo ni hizo absolutamente nada.
No puede permitirse por más tiempo este nivel de corrupción, y menos
aún a 17 regiones funcionando como estados independientes, con todos
los organismos multiplicados por 17, desde 17 servicios meteorológicos
a 17 defensores del pueblo, con 200 embajadas, 50 canales de TV
regionales en pérdida, 30.000 coches oficiales o 4.000 empresas
públicas que emplean a 520.000 personas, creadas específicamente para
ocultar deuda y colocar a familiares y amigos sin control ni
fiscalización alguna. En conjunto, unos 120.000 millones, equivalentes
al 11,4% del PIB, se despilfarran anualmente en un sistema de
nepotismo, corrupción y falta de transparencia.
Y con esto se tiene que acabar, entre otras cosas, porque ya no hay
dinero. Los últimos datos de las cuentas públicas conocidos la pasada
semana son escalofriantes. El déficit del Estado a julio ascendió al
4,62% del PIB, frente a un déficit del 3,5% comprometido con la UE para
todo el año (del 6,3% incluyendo regiones y ayuntamientos). Pero lo
realmente inaudito es que España está gastando el doble de lo que
ingresa. 101.000 millones de gasto a julio frente a 52.000 millones de
ingresos, y precisamente para poder financiar el despilfarro de
regiones y ayuntamientos, que no están en absoluto comprometidos con la
consolidación fiscal.
El tema del déficit público es algo que roza la ciencia ficción, y que
ilustra perfectamente la credibilidad de los dos últimos gobiernos de
España. En noviembre de 2011, el Gobierno dijo que el déficit público
era del 6% del PIB; a finales de diciembre, el nuevo Gobierno dijo que
le habían engañado y que el déficit era superior al 8%, y que se tomaba
tres meses para calcularlo con toda precisión. A finales de marzo, se
dijo que definitivamente era del 8,5%, y ésta fue la cifra que se envió
a Bruselas. Dos semanas después, la Comunidad de Madrid dijo que sus
cifras eran erróneas y el Ayuntamiento de la capital igual… el déficit
era ya del 8,7%.
Sin embargo, la semana pasada el INE dijo que el PIB de 2011 estaba
sobrevalorado y, con la nueva cifra, el déficit era del 9,1%; dos días
después, Valencia dijo que su déficit era de 3.000 millones más; o sea,
que estamos en el 9,4% y las otras 15 CCAA y 8.120 ayuntamientos aún no
han corregido sus cifras de 2011. Lo único que sabemos es que están
todas infravaloradas. El déficit real de 2011 puede estar por encima
del 11%, y en 2012 se esta gastando el doble de lo que se ingresa. Como
dice el Gobierno de Rajoy, “estamos en la senda de convergencia”. Y es
verdad… de convergencia hacia Grecia.
Claramente, la joven democracia española tiene todavía muchos déficits
de representatividad y de democracia que deberían interesar a la
canciller Merkel y también a Europa, si queremos evitar una Grecia
multiplicada por cinco y salvar el euro. Esto es lo que ha hecho
posible el despilfarro masivo de las ayudas europeas, con una
asignación disparatada de las mismas, a pesar de que estas ayudas han
supuesto una cifra mayor que la del Plan Marshall para toda Europa.
Es frustrante que a causa de este sistema oligárquico nepotista y
corrupto se destroce talento y creatividad y que ahora muchos jóvenes
se vean forzados a trabajar fuera, muchos en Alemania. Esa situación
nos ha llevado a una distribución de riqueza que es de las más injustas
de la OECD. La antaño fuerte clase media española está siendo
literalmente aniquilada.
Resumiendo: no es una falta de voluntad de trabajo, como se piensa tal
vez en algunos países del norte de Europa, lo que hace que España sufra
la peor crisis económica de su Historia. Es un sistema corrupto e
ineficiente. La crítica del Gobierno alemán y sus condiciones para un
rescate de España se deberían concentrar en la solución de esos
problemas. En caso contrario, solo conseguirán que una casta política
incompetente y corrupta arruine a la nación para varias generaciones.
*Stefanie Claudia Müller es corresponsal alemana en Madrid y
economista;
Etiquetas:
denuncia social
Suscribirse a:
Entradas (Atom)