Cuando se eliminan archivos en linux (y también en windows) sin importar el medio de almacenamiento donde se encuentren, estos realmente no serán borrados del sistema de archivos. El sistema operativo lo que hará , es eliminar el puntero que asocia el archivo con la tabla correspondiente , pero con cualquier aplicación podremos recuperarlo, incluso aunque hagamos un formateo de la unidad de almacenamiento, estos igualmente podrán ser recuperados. Ahora que podremos hacer para evita que recuperen estos archivos que previamente fueron borrados?
Básicamente el proceso para realizar una correcta eliminación de los archivos, es abrir cada uno de ellos , sobreescribir la información contenida por data basura, y guardar nuevamente el archivo. Este procedimiento hará que efectivamente se pierda la información. Sin embargo realizarlo es una tarea muy tediosa , mas si se tiene múltiples archivos, o si estos son de tipo imagenes , musica o si son archivos muy grandes de texto.
Sin embargo en linux contamos con SHRED , es un comando sencillo que nos hará todo el trabajo anteriormente mencionado, este hará una entropía a la data contenida y creará el mismo archivo con "basura" lo cual garantiza que no se puede rescatar la informaciónshred nombreArchivo
Ahora ya que lo que se necesita es eliminar el archivo, debemos agregarle la opción -u.shred -u nombreArchivo
Esto ademas de generarle data basura al archivo, procederá a eliminarlo si alguien ejecutará un proceso de recuperación del archivo, obtendrá algo que no le sirve.
Continua...
lunes 16 de noviembre de 2009
Como hacer un borrado seguro en linux
miércoles 11 de noviembre de 2009
Cómo revertir un commit errado en Subversion?
A veces por error realizamos un envío (commit) que contiene algunos archivos que no es necesario que estén en el repositorio del desarrollo , es normal que estos sean varios archivos y que muchos de ellos se encuentren en varios directorios y subdirectorios, con los clientes de svn es buena práctica (y es lo que se debe hacer) marcar estos archivos para que sean ignorados y así no sean enviados. Pero que sucede si igual cometemos el error y realizamos un commit indebido?Algunas personas prefieren eliminar cada archivo o directorio enviado, pero esto puede ocasionar multiples envio innecesarios o cometer otro error y eliminar algo que no se deba, sin embargo podemos solucionar todo con una simple linea , haciendo un merge entre la versión actual y la versión anterior:
svn merge -r version-actual:version-anterior url-del-repositorio
Esto comparará las versiones , encontrará los archivos que fueron subidos y los marcará para eliminar, y aquel o aquellos archivos modificados los marcará como conflictivos , tocará revisarlos para corregir el conflicto y así poder hacer el siguiente commit, el cual es absolutamente necesario para que hagan los cambios en el repositorio:
svn commit -m "Reversión de cambios del ultimo commit"
El comentario es opcional.
Continua...
martes 27 de octubre de 2009
..y dónde esta instalada esa Aplicación??
Este es un comando muy pero muy útil para los usuarios linux, donde muchas veces instalamos aplicaciones automáticamente ya sea con aptitude o apt, etc y después no tenemos idea del lugar donde quedaron en el sistema de archivos (/var, /etc, /opt , etc) y lo peor viene después cuando necesitamos modificar algo , editar algún archivo .conf y no tenemos idea de donde quedo instalada esa aplicación. Bueno para esos casos basta solo con escribir el comando whereis (Dónde está? obvio!) y el nombre de lo que buscamos y listo:whereis NombreAplicacion
jueves 30 de abril de 2009
Renombrar Bases de Datos MySQL en Linux
Por varias razones sucede , que en ocasiones debemos renombrar una base de datos completa, en mi caso el motivo fue que un aplicativo tenía el nombre de la base de datos que debía usarse en su código interno (hard-code) y la base de datos que se creo con mysql se hizo con otro nombre, es obvio que al final la aplicación y la base de datos nunca se iban a ver, entonces que hay que hacer? renombrar.Aunque parezca muy raro, el administrador de mysql no trae ninguna funcionalidad que permita simplemente renombrar una base de datos, existe un comando para renombrar tablas, pero no bases de datos.
Entonces que opción nos queda?, bueno hay que recordar que los esquemas literalmente el sistema los ve como un directorio, de ser así entonces sería cuestión de renombrar el directorio y ya, pues bien esto es lo que hay que hacer. El asunto es que hay que buscar donde linux guarda los esquemas de mysql.
Dependiendo de la distribución , la colocación de los esquemas va a variar, sin embargo existe un archivo que nos va a indicar donde son almacenados, este archivo es:
my.cnf
La ubicación de este archivo en distribuciones como Debian y sus variaciones, esta generalmente en:
/etc/mysql
De todas formas sino sabemos donde esta lo buscamos con usando find
find / -name my.cnf
Una vez ubicado el archivo accedemos al mismo , y ubicamos la linea que diga
datadir = /var/lib/mysql
Datadir nos indica el lugar donde MySQL almacena todas las bases de datos, en mi distribución Ubuntu observamos que esta en /var/lib/mysql, nos cambiamos a ese directorio y dentro de él veremos que contiene todas las bases de datos que tenga nuestro MySQL, y ya aquí se hace lo más sencillo de todo el cuento, simplemente renombre el directorio al nombre que desee y listo.
No es necesario bajar el servicio de mysql ni reiniciarlo.
Continua...
sábado 25 de abril de 2009
Analizar Puertos y Conexiones en Linux
Revisar el funcionamiento de un servidor requiere de ver varias cosas, el hardware, el sistema operativo, etc, pero hay otros aspectos que también son muy importantes , más si lo que hacemos es auditar un servidor con el fin de reportar aspectos sobre la seguridad del mismo, un punto que siempre se debe ver son los puertos , el estatus , los protocolos utilizados, quien se conecta o quien se conecto?, para ello tenemos herramientas muy útiles que nos facilitan el trabajo.
Una de las mejores herramientas de uso es el famoso nmap, existe una extendida documentación en la red sobre este comando, aquí voy a colocar algunas opciones de uso que son muy útiles si estamos analizando los puertos de un servidor.
Lo primero, es saber cuales son los host que existen en una lan , en caso de que desconozcamos cuantas maquinas tenemos en nuestra red, para ello ejecutamos:nmap -sP Direccion_de_Red/24
Si necesitamos saber cuales son los puertos que están abiertos tanto en nuestra maquina como en un host especifico solo basta ejecutar:nmap Direccion
El detalle esta en que el comando anterior solo nos mostrará los puertos abiertos que usen protocolo TCP, es por ello que es bueno ejecutar también un scaneo para ver cuales puertos están abiertos pero que usen el protocolo UDP, para ello ejecutamos:nmap -sU Direccion
También existe una interfaz gráfica para usar nmap, hecha por los mismos creadores de nmap, la cual es zenmap, esta disponible desde el sitio insecure.org o podemos descargarla usando apt o aptitude.
Otro detalle importante al analizar los puertos de un servidor , es verificar cuales tienen conexiones establecidas, así podemos ver si todo esta funcionando bien o si existe algún equipo que se conecta indebidamente, para ello entonces ejecutamos la siguiente sentencia:netstat -an | grep ESTABLISHED
Existe otro mecanismo para ver quienes están conectados a la maquina y es simplemente ejecutar "w", esto nos generará un resultado como el siguiente:
Aunque parezca sencillo, esto nos permitirá saber la dirección ip del que esta conectado, la hora desde que se conecto y el usuario que esta usando.
Por último , también podemos ver las ultimas conexiones realizadas al host ejecutando:last
Este mostrará un histórico de las ultimas conexiones establecidas con sus respectivas direcciones ip o sino en su defecto con el nombre del host de la maquina desde donde se realizó la conexión.
Continua...
jueves 9 de abril de 2009
Falla de hotmail en Linux
Otra vez, con la salida de la nueva imagen de hotmail ocasiono diferencias con los usuarios de linux, especificamente aquellos que usen Debian y que navegen con Iceweasel, el problema hace que no se pueda escribir correos ya que la plantilla deja deshabilitado el marco donde se escribe el correo, y además no permite colocar en algunos casos los destinatarios. Sin embargo como en linux la mayoría de los problemas se pueden resolver facilmente, este no deja de ser la excepción.
Intentar actualizar el navegador web no da resultados, ya que el problema reside en que el servidor de hotmail filtra el navegador entrante y no reconoce aquellos que no sean explorer o firefox. Y aunque Iceweasel es firefox , el nombre codigo del mismo es iceweasel lo que hace que sea denegado al intentar escribir correos en hotmail.
Para solucionar esto lo que hay que hacer es abrir un pestaña nueva , o abrir el navegador , y colocar en el url la página con la que configuramos el iceweasel:about:config
Inmediatamente saldrá el listado de parametros que posee nuestro navegador web, en la parte superior tenemos un motor de busqueda si queremos ir directamente a la linea que deseamos, en realidad la que debemos buscar es la siguiente:general.useragent.extra.firefox
Del lado derecho veremos que aparece el parametro configurado, el cual debe decir "iceweasel/" después del / saldrá el numero de la versión de nuestro navegador lo cual no importa. Hacemos entonces doble click sobre esta configuración y se abrirá una pantalla que nos traerá el parametro que esta configurado, este dato lo cambiaremos por el siguiente:Firefox/3.03
Una vez colocado le damos Aceptar para cerrar la pantalla y listo, cerramos la pagina de configuración del navegador, y ya podemos probar en hotmail escribir un correo para verificar que esta listo el problema ....... ocasionado por los genios de microsoft.
Continua...
lunes 9 de marzo de 2009
Cómo descargarse la música de myspace???
Obvio que este post no tiene ningún principio ético. Mi motivación fue que a veces te consigues buenos grupos en myspace y que solo quieres algún par de pistas y entonces entras en el dilema de para que gastarse el dinero comprándoles el cd , así que entonces lo que queda es ver como te bajas la cancioncita jejeje.
El asunto es super sencillo, métanse en el servicio que tiene la página http://file2hd.com , esta gente se encarga de descargarse todo, y entiéndase todo es todo!!!, lo que necesitas es un url especifico , así que solo es cuestión de colocar la dirección, en este caso pones "http://www.myspace.com/GRUPOQUEBUSCAS" le das click en el checkmark de "I have read..... todo lo que uno nunca lee en un contrato" y listo, solo basta dar click en el botón Get Files y quedarte loco de todoooooo los archivos que te saldrán, en ese listado generado solo debes buscar los mp3 y después con tu browser escoge la opción de Guardar Destino como y ya, te has descargado tu mp3 de esa banda del myspace.
Continua...
martes 27 de enero de 2009
y... como se llamaba ese comando en linux???
Esto seguro le ha pasado a mas de uno (a mi muchas veces por que se me olvidan muchas cosas, por eso es que trato de documentar lo que se pueda jeje), el hecho es que muchas veces ocurre que se usa un comando y tiempo después nos olvidamos de que comando fue el que usamos, seguro algunos se les ocurre ver el history y esperar que no se haya borrado ese comando. Sin embargo existen dos utilidades que nos permiten hacer la tarea más prolija , con estos podemos averiguar cual es el comando que necesitamos o debemos ejecutar.
Estas utilidades que vienen en linux son, apropos y whatis, son muy prácticas a la hora de necesitar encontrar los comandos que están relacionados a alguna actividad o encontrar un comando especifico, y la forma de ejecutarlos es muy sencilla ya que podemos escribir algo relacionado a lo que necesitamos y estos realizarán una búsqueda a través de la pagina del manual (lo que es el man) y nos traerán todos aquellos comandos que contengan la palabra clave que hemos escrito. Por ejemplo si colocamos:apropos firewall
El resultado será :fwbuilder (1) - Multiplatform firewall configuration tool
shorewall (8) - Administration tool for Shoreline Firewall (Shorewall)
shorewall-routestopped (5) - The Shorewall file that governs what traffic flows through the firewall while it is ...
ufw (8) - program for managing a netfilter firewall
Podemos ver que nos trae los comandos que se relacionan con la implementación, configuración etc etc de un firewall. Lo bueno de apropos es que su uso es más versátil que whatis, ya que lo que escribimos no es el nombre explicito del comando que buscamos, cosa que no ocurre cuando usamos whatis, en este el resultado esta relacionado a lo que escribimos, es decir que si colocamos:whatis net
El resultado será:net (8) - Tool for administration of Samba and remote CIFS servers.
Entonces bueno ya con estas dos utilidades podemos llegarle a la documentación de cualquier comando que necesitemos sobre cualquier tema y no tener que andar preguntando en la oficina.... y .... como se llamaba ese comando en linux???
Continua...
sábado 10 de enero de 2009
Cómo saber que hardware tiene un servidor en linux?
El otro día nos toco revisar varios servidores para reutilizarlos como parte de otros servicios, el hecho es que por lo general (y tal como nos sucedió a nosotros) , solo tenemos la dirección ip del equipo, y es muy común que el administrador de los centros de datos no tengan a mano o certeza del hardware que posee un servidor en especifico. Sin embargo esto no nos debe preocupar, ya que existen comandos muy sencillos en linux con los que nos arrojará toda la información requerida.
Dependiendo de lo que queramos saber es que aplicaremos cada uno de los siguientes comandos en la consola de linux, ya sea si queremos algo en especifico o todo un informe detallado de lo que tenemos.
Conocer Tamaño del Disco
Para ello ejecutamos:df -h
Este nos traerá el listado de las particiones que tiene el disco duro , sumando los valores de la columna Tamaño obtendremos el total aproximado del disco duro, también es interesante porque indica e espacio usado, disponible y el porcentaje de uso. El atributo -h es para que nos muestre los valores en términos de kilobytes, megas, gigas, etc.
Conocer Cantidad de Memoria Ram del Equipo
Para ello ejecutamos:top
Este programa nos mostrará todos los procesos que están corriendo en el sistema, pero para nuestros propositos es muy útil ya que en la parte superior (en la cabecera) , al comienzo de la cuarta linea esta el valor Men, el cual muestra la cantidad de memoria que posee el equipo, aparecerá en términos de kilobytes así que se debe hacer la conversión para determinar cuantos gigas o megas se poseen (1024K = 1Mb , 1024Mb = 1Gb).
Conocer el Cantidad y Tipo de Procesador del Servidor
Para ello ejecutamos lo siguiente:cat /proc/cpuinfo
Lo anterior mostrará el contenido del archivo cpuinfo, en el cual podremos observar las características del o los procesadores que posea el servidor, tales como cantidad de procesadores, tipo, marca, velocidad, tamaño de la memoria cache (aunque no indicará si es de primer o segundo nivel)
Conocer al detalle todo el hardware del Servidor
El siguiente comando es preferible ejecutarlo como administrador del sistema, ya que la información reflejada será más completa y además redireccionar la salida hacia algún archivo y no hacia la pantalla , ya que se generarán muchas lineas:lshw > nombreArchivo
Este comando realizará un análisis de todo el hardware que tenga el servidor y con ello crea un informe ordenado por componentes , tendremos al detalle por ejemplo hasta el tipo del socket que tiene el procesador instalado, o que memoria ram tenemos instalada en cada banco de la tarjeta madre.
En Suse , lshw no viene en la instalación por defecto , sin embargo existe un comando que es hwinfo el cual también genera un informe con caracteristicas similares al que emite lshw.
Continua...
miércoles 7 de enero de 2009
Eliminar carpetas .svn de un proyecto
Hay cosas que a veces son muy problemáticas y que uno le da la vuelta mil veces para conseguir la solución, y después de haber logrado resolverlo, uno se entera que existe un paso muy pero muy sencillo!!!.
Esto me paso con el problema de eliminar las carpetas de un proyecto que ha estado en un repositorio SVN, muchas veces al querer copiarlo después de haberlo descargado este traerá en cada directorio una carpeta con .svn.
A veces si era un proyecto pequeño tocaba eliminar a mano cada carpeta .svn , otras cuando es más grande se puede hacer un script que busque los directorios con extensión .svn y los borre, pero sin embargo lo que si da risa es que la solución real esta en el mismo manual del subversion, es solo cuestión de EXPORTAR el proyecto y este nos generará una carpeta con el proyecto sin las tediosas carpetas .svn!!.
Así que todo se reduce a una simple sentencia: svn export rutasvn rutadestino
La ruta destino no es necesario que se cree , en caso de que ya este creada le tendremos que agregar al final de la sentencia la opción --force.
Y más risa dará si usamos herramientas como TortoiseSVN, RapidSVN o Workbench , ya que en estos mismo encontrará la función "export" , con lo cual solo debe seleccionar la carpeta y la herramienta se la preparará sin las correspondientes carpetas .svn.
Típico problema RTFM (Read the fuck manual!!)
Continua...
miércoles 5 de noviembre de 2008
Crear replica de Bases de Datos MySQL
Desde la versión de MySQL 3 es posible tener una base de datos en un servidor que se alimente automáticamente de un servidor de bases de datos maestro, esto es muy útil donde se manejan muchos datos y se realizan muchas transacciones entonces se desea tener un ambiente de ata disponibilidad en caso de que uno de los servidores se caiga , se activa el otro que esta respaldado hasta las ultimas operaciones realizadas.
Esta guía la probé usando un ambiente con linux debian etch y MySQL 5.0 .
Las características de MySQL 5 soportan replicación asíncrona unidireccional: un servidor actúa como maestro y uno o más actúan como esclavos. El servidor maestro escribe actualizaciones en el fichero de log binario, y mantiene un índice de los ficheros para rastrear las rotaciones de logs. Estos logs sirven como registros de actualizaciones para enviar a los servidores esclavos. Cuando un esclavo se conecta al maestro, informa al maestro de la posición hasta la que el esclavo ha leído los logs en la última actualización satisfactoria. El esclavo recibe cualquier actualización que han tenido lugar desde entonces, y se bloquea y espera para que el master le envíe nuevas actualizaciones.
Un esclavo servidor puede servir como maestro si quiere preparar una cadena de replicaciones de replicación.
Tenga en cuenta que cuando usa replicación, todas las actualizaciones de las tablas que se replican deben realizarse en el servidor maestro. De otro modo, debe ser cuidadoso para evitar conflictos entre actualizaciones que hacen los usuarios a las tablas en el maestro y las actualizaciones que hacen en las tablas de los esclavos.
Configuración del Servidor Maestro
En el fichero /etc/mysql/my.cnf comentamos las siguientes lineas , sin importar el valor que tengan asignado, para que el demonio del mysql pueda escuchar en las interfaces de red : # skip-networking
# bind-address = 127.0.0.1
Ubicamos en el mismo archivo la clasula [mysqld] , debajo de ella buscamos las lineas siguientes: # server-id = 1
# log_bin = /var/log/mysql/mysql-bin.log
# binlog_do_db = include_database_name
# binlog_ignore_db = include_database_name
Estas lineas debemos descomentarlas y modificarlas dependiendo de lo que vamos a hacer, la primera es para identificar el servidor, en este caso el servidor maestro es el Nº 1, la segunda linea es la que indica la ruta donde almacenarán los logs, la tercera linea es para indicar el nombre de la base de datos que se va a replicar y a la que el servidor irá registrando en el archivo que pusimos en la ruta de la linea anterior y por ultimo en la siguiente linea colocamos el nombre de la base de datos que no registraremos. Además de modificar estos valores debemos agregar dos lineas más quedando todo este código de la siguiente forma: server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
binlog_do_db = NombreBaseDatosReplicar
binlog_ignore_db = mysql
low-priority-updates
innodb_flush_log_at_trx_commit=1
La ultima linea agregada innodb_flush_log_at_trx_commit, cuando este valor es 1 (predeterminado), cada vez que se confirma una transacción el buffer de registros (log buffer) se graba en el fichero de registro y se vuelca a disco.
Ya con esto terminamos la edición del archivo my.cnf en el maestro, nos salimos del editor y procedemos a reiniciar el servicio de mysql /etc/init.d/mysql restart
Bloquear y Extraer Base de Datos
Crear Usuario
Procedemos ahora a crear un usuario que tendrá permisos para que el servidor esclavo pueda conectarse a la base de datos del servidor maestro ( si ya tiene un usuario creado con tal permisología en la base de datos también puede re-asignarle permisos para la replica en el servidor esclavo). Para ello procedemos a entrar al shell del mysql como root y dentro ejecutamos la sentencia de creación del usuario: GRANT REPLICATION SLAVE ON *.* TO 'usuario'@'%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Bloquear Base de Datos
Para generar la replica de la base de datos estas deben quedar con la misma data , para ello debemos bloquear cualquier registro nuevo que se vaya a generar mientras realizamos el proceso, siendo así usamos la base de datos especifica y posteriormente la bloquearemos, esto se realizará ejecutando lo siguiente: use nombreBaseDatos;
FLUSH TABLES WITH READ LOCK;
SHOW MASTER STATUS;
La ultima linea nos generará una respuesta la cual debemos prestar atención, ya que los datos deben ser anotados para posteriormente utilizarlos, de este resultado debemos anotar las dos primera columnas que son el nombre del fichero y la posición, los datos generados son similares a estos : mysql-bin.0008678 98 nombreBaseDatos
Una vez anotado estos datos, nos salimos del shell de mysql.
Extraer Datos
Es necesario exportar la base de datos para posteriormente importarla en el servidor Esclavo, para ello usaremos el comando mysqldump con el cual generaremos un archivo .sql , ejecutamos entonces en el terminal lo siguiente: mysqldump -u root -p --opt nombreBaseDatosReplicar > nombreBaseDatos.sql
Generado el archivo .sql lo copiamos en el servidor esclavo. Ahora solo queda desbloquear la base de datos en el servidor maestro para que siga su normal funcionamiento, entramos de nuevo en el shell de mysql como root y ejecutamos el comando: unlock tables;
Hasta aquí hemos terminado la configuración con el servidor maestro, ahora procederemos a entrar al servidor esclavo para realizar la configuración.
Configuración del Servidor Esclavo
Crear e importar base de datos
En el servidor Esclavo procedemos a crear la base de datos, para ello ingresamos a mysql y desde el shell ejecutamos lo siguiente: create database nombreBaseDatos;
Nos salimos del shell y procedemos a ejecutar en el terminal el comando para importar la base de datos que previamente habiamos guardado en un archivo .sql , esto lo haremos de la siguiente forma: mysql -u root -p nombreBaseDatos < /rutaarchivo/nombreBaseDatos.sql
Configuración de MySQL como esclavo
Ahora editaremos el archivo my.cnf del servidor esclavo con el fin de definir que este servidor funcionará como esclavo y se le indicará quien es el servidor maestro, para ello abrimos el archivo y buscamos la clausula [mysqld]y colocamos lo siguiente: server-id = 2
master-host = ipServidorMaestro
master-user = usuarioCreado
master-password = usuarioPassword
master-connect-retry = 60
replicate-do-db = nombreBaseDatos
Guardamos los cambios realizados y reiniciamos el servicio de mysql , posteriormente entramos como root al mysql y apagamos el servicio de esclavo ejecutando el siguiente comando: SLAVE STOP;
Inmediatamente procedemos a ingresar los datos del ip del servidor mysql maestro, los datos del usuario y además usaremos los datos que anotamos cuando se procedió a bloquear la base de datos, es decir , el nombre del archivo y la posición, esto lo hacemos con la siguiente sentencia: CHANGE MASTER TO MASTER_HOST='ipServidorMaestro', MASTER_USER='usuarioCreado', MASTER_PASSWORD='usuarioPassword', MASTER_LOG_FILE='archivo mysql-bin.xxxxx', MASTER_LOG_POS='Nº XX';
Para finalizar iniciamos nuevamente el esclavo y salimos del mysql: START SLAVE;
Ahora ya se puede realizar cualquier cambio en el servidor maestro y se verán replicados en el servidor esclavo.
Continua...
martes 14 de octubre de 2008
Habilitar Acceso Remoto a Bases de Datos MySql
Muchas veces el acceso a nuestras bases de datos lo realizamos directamente en el mismo servidor, quizás por razones de sencillez , vía ssh nos conectamos y revisamos lo que se necesita. Sin embargo, para acceder a estos servidores requerimos tener un usuario y su correspondiente clave, aparte del usuario y la clave de la base de datos. Es por ello que muchas veces necesitaremos administrar remotamente las BD de mysql y para ello solo necesitamos hacer una pequeña configuración en el servidor para permitir los accesos.
Lo primero que debemos hacer es irnos al servidor donde esta instalada la base de datos mysql y realizar un cambio en el archivo my.cnf de mysql , si esta instalado en un servidor con debian lo encontremos en la ruta:/etc/mysql
En este archivo por defecto la instalación de MySql queda apuntando a nuestra dirección local, para ello debemos modificarla, así que ubicamos la linea que dice:bind-address = 127.0.0.1
y le cambiamos la dirección para que quede:bind-address = 0.0.0.0
Una vez realizado esto ejecutamos mysql como root , y una vez dentro le daremos permiso al usuario que queremos que acceda de manera remota, esto es ejecutando la siguiente sentencia:grant all privileges on *.* to 'usuario'@'%' identified by 'password' with grant option;
Y listo, ejecutado estas dos operaciones procedemos a reiniciar el servicio de mysql:/etc/init.d/mysql restart
Ejecutado el procedimiento , podemos probar desde otra maquina ingresar a la base de datos colocando la dirección ip , el usuario y clave de la base de datos el cual previamente configuramos.
Continua...
sábado 4 de octubre de 2008
Y en pocos días llega la cabra montañosa!
Como dato curioso, es probable que muchos se pregunten de donde salen estos nombres de cada versión de ubuntu, bueno para aquel que no lo sepa el número y el nombre de cada versión de Ubuntu que se desarrolla es parte también de la planificación del producto. El número de versión corresponde al año y al mes en que esta será lanzada. Por ejemplo, la versión actual, la 8.04 salió este año (08) en Abril (04), la siguiente saldrá en octubre de este año (8.10) y así sucesivamente. En cuanto al nombre siempre sigue el mismo patrón. Un adjetivo y el nombre de un animal. Pero ojo, tanto el adjetivo con el nombre tiene que empezar con la misma letra. La letra inicial es la siguiente por orden alfabético en cada versión. Por ejemplo, la versión anterior a la actual se llamaba Gutsy Gibbon (GG) la actual es por H y se llama Hardy Heron (HH) y la que viene se llama Intrepid Ibex (II). Es bien bueno el mecanismo porque permite una facil distinción de las versiones y el mismo nombre nos indica las fechas de lanzamiento (7.04-FF, 7.10-GG, 8.04-HH y 8.10-II). Bueno queda esperar entonces 26 días.
Siguiendo fiel a la regla de lanzar una nueva versión de ubuntu cada 6 meses, pues ya faltan pocos días para que este disponible la versión final , la cual fue denominada Intrepid Ibex, o Ibex Intrépido ( o lo que es lo mismo ... cabra montañosa). Lo cierto es que la gente de ubuntu no hace el lanzamiento en vano , no recurre a técnicas muy conocidas como microsoft de cambiar solo el aspecto y mover las cosas de lugar para hacer creer que es una versión nueva jajaj, la verdad es que este nuevo ubuntu se viene con varios cambios muy buenos que siguen los lineamientos de versiones anteriores como Hardy Heron o Gutsy Gibbon, es decir proporcionar al usuario mayor facilidad de uso separando la complejidad que pueda tener el ambiente para poder orientarlo a usuarios menos diestros (tipo windows jejeje) sin tener que bajar el rendimiento del mismo.
La nueva versión ya tiene a varios usuarios descargando la versión beta , que po cierto fue lanzada ayer 2 de octubre, lo que lo puede dejar a uno impresionado es que esa fecha ya se tenia prevista desde hace meses atrás!!! , quizás para algunas no les parezca impresionante, y dirán que con solo tenerlo planeado ya se logra, pero nooooo, desarrollar software es complicado y en cualquier momento explotan bugs y bugs qe retrasan los lanzamientos y hacen que las fechas se vuelvan difíciles de cumplir, sino me creen es cuestión de ver como muchas empresas reconocidas de software tienen que retrasar sus lanzamientos por problemas inesperados. Pero bueno eso es otro asunto, el hecho es que siguiendo el calendario para el lanzamiento de ubuntu 8.10 nos quedan dos fechas próximas y son:
De la versión Beta liberada ayer y de la cual ya muchos han descargado , tendrán aproximadamente dos semanas para reportar bugs y estos dependiendo de su prioridad serán corregidos e integrados a la versión RC1, cuando posteriormente habrán muchos entusiastas más que volverán a descargar la RC1 para seguir enviando bugs que serán corregidos dependiendo del nivel dela falla y serán integrados a la versión final, con la cual se vuelve a repetir el ciclo pero con la diferencia de que las correcciones empiezan a salir como parches o paquetes de actualización. Es por ello que siempre funciona mejor la idea de que si quieres que tu sistema siga funcionando bien, lo mejor es tener una partición de datos separada de las particiones del sistema , y montar la versión nueva un mes después del lanzamiento oficial , cuando ya una cantidad grande de bugs han sido resueltos jejejej. La otra opción , la cual uno muchas veces ejecuta, es montar el sistema de prueba en una maquina virtual y ver que trae nuevo , si se daña pues borramos la maquina virtual y listo todo queda bien .
Igual para aquellos que les gusta estar a la vanguardia y que quieren tener el ubuntu a la ultima versión en este link pueden encontrar las distintas versiones para descargarlo con un cliente torrent:
http://linux.softpedia.com/progDownload/Ubuntu-Intrepid-Ibex-Download-39147.html
Ya con la versión beta también se han podido apreciar los nuevos cambios que se habían mencionado , estos son:Servidor X.Org 7.4 : Es posible ahora olvidarnos del tedioso archivo /etc/X11/xorg.conf , el nuevo servidor promete que a muchos usuarios no les será necesario la configuración a través de
Nuevo Gnome 2.23.91: Lo mejor de lo mejor en este nuevo entorno es la implementación de pestañas en el Nautilus , ahora no será necesario tener varias ventanas abiertas ya que con las pestañas tendremos las distintas vistas de las rutas. Además le colocaron un botoncito que saldrá al lado de los dispositivos extraibles con lo que se hace más amigable hacer la expulsión de un pendrive por ejemplo.Encriptar Carpetas: Podremos tener carpetas encriptadas para evitar ademas del acceso que puedan leer cualquier información contenida, obvio que esto no es nuevo ya existen varias formas de hacerlo hoy en día sin embargo lo nuevo aquí es que ya viene implementado por defecto.
Iniciar Sesión como un Invitado : Podremos configurar un perfil de usuario Invitado el cual tendrá accesos restringido al equipo y a la data (claro porque es invitado) pero lo bueno es que aún así podrá por ejemplo navegar en internet y revisar su correo, de forma tal que ahora se podrá prestar la maquina personal a otras personas sin tener que crear un usuario especial. Network Manager 0.7: El administrador de red trae nuevas funcionalidades y permite el manejo de varias tecnologías , ademas que la configuración pasa de ser especifica para cada usuario a general para todo el sistema , de esta forma se logra que el por ejemplo el usuario invitado tenga acceso a internet.
DKMS : Permite que los drivers del núcleo se reconstruyan de forma automática cuando sale un nuevo kernel, sin tener que esperar a que sean reconstruidos y liberados también en forma de paquete.
viernes 26 de septiembre de 2008
Cómo saber si un Servidor esta caído?
Varias veces sucede que tenemos que acceder a una página o descargar algún archivo de un servidor en la web y resulta que quedamos rato largo esperando y después de un tiempo nos da varios mensajes de error, ya sea que no consigue la página, que no se puede acceder, que no esta disponible, etc etc. Pero el detalle esta en que ocasiones es nuestra red que tiene limitaciones de acceso a un servidor especifico, entonces como saber si es una falla de nuestra red o es el servidor que esta caído??.
Usando linux o windows , podemos saber si un servidor esta caído (aunque prefiero más linux jejej) y así despejar la duda si en nuestra red alguien bloqueo algunos puertos o direcciones en concreto.
En linux tenemos dos comandos que fácilmente nos podrá dar una respuesta, el primero es enviar un paquete al servidor destino y ver si nos da respuesta, aunque "ojo" esta opción puede que igual nos de un resultado negativo y no sea porque el servidor destino este caído sino porque este configurado para no responder a paquetes basura.
Entonces, nos metemos en la consola tanto en windows como en linux, nos sirve hacer un ping al servidor a consultar ping name.server
Si el servidor esta bien nos responderá los paquetes , es interesante analizar el tiempo de respuesta ya que si es muy grande indica que lo que esta sucediendo quizás es que el ancho de banda en la red esta muy saturado de paquetes. Sin embargo como indique anteriormente puede ser que el servidor este bien y aun así no responda.
Es por ello que tenemos otra forma y es realizar un rastreo de un paquete enviado, esto lo ejecutamos con el comando traceroute en linux o tracert en windows, por lo tanto quedaría así:
En linuxtraceroute name.server
En Windowstracert name.server
Lo bueno de rastrear el paquete es que permite ver si el problema esta en nuestra red, ya que si el paquete que enviamos no llega a pasar el gateway de nuestra red quiere decir que hay algo que esta filtrando los paquetes y que evita el acceso al servidor que queremos acceder, sin embargo si el paquete si sale de nuestra red y no termina de llegar al servidor destino esto nos indica que es posible que este caído el servidor que queremos acceder.
También existe otra opción muy simple, y es a través de la dirección web www.estacaido.com , aquí sencillamente te piden el nombre de la pagina que quieres ver y ellos se encargan de hacer el analisis , al cabo de un rato te responden muy claramente si el problema es tuyo o es del servidor!.
Continua...
jueves 11 de septiembre de 2008
Migrar Repositorios SVN de un Servidor a otro
Este post es un 2 en 1, ya que aquí además de poder hacer la migración de un repositorio de un servidor a otro servidor, también podemos definir un esquema para respaldos de los directorios SVN.
Para realizar la migración, con svn procedemos a comprimir el directorio y este será guardado en un formato .dump, entonces lo primero que haremos será ubicarnos en el directorio del repositorio que queremos migrar y desde allí ejecutamos lo siguiente:
svnadmin dump nombre_directorioSVN/ > nombre_directorioSVN.dump
Este proceso se tardará un poco dependiendo del tamaño del directorio y la cantidad de revisiones que tenga, una vez finalizado obtenemos un archivo .dump el cual es el que usaremos para descomprimir e instalar en el lugar que deseemos (sea oro servidor y otro directorio svn). Lo importante también es que este mismo archivo lo podemos generar cada vez que necesitemos, generando así un respaldo del directorio SVN!!
Para continuar con la migración, copiamos el archivo .dump en el directorio SVN del servidor donde irá, y procedemos a crear el directorio svn:
svnadmin create nombre_directorioSVN
E inmediatamente cargamos el archivo .dump
svnadmin load nombre_directorioSVN <>
Ahora comenzará a descomprimir el archivo y cargarlo en el nuevo repositorio, nuevamente el proceso tardará dependiendo del tamaño del repositorio y de la cantidad de revisión es que tenga.
Un detalle muy pero muy importante en la migración, es crear el directorio svn en el momento en que vayamos a realizar la descompresión del archivo .dump , ya que si el repositorio ha sido creado previamente y se le han hecho modificaciones , por más mínima que sean (cambios de permisología, etc.) , la migración no funcionará y por consiguiente al descomprimir el archivo .dump este arrojará un error cuando se quiera acceder al repositorio svn.
Continua...
jueves 4 de septiembre de 2008
Gestionando servicios con Sysv-rc-conf
Para instalar la aplicación no es necesario actualizar la lista de repositorios, lo único que debemos hacer es instalarlar directamente como root,
sudo aptitude install sysv-rc-conf
Es importante señalar que tuve que usar esta aplicación en Ubuntu Hardy ya que otra opción era montar KSysV pero la aplicación ocasiona varios problemas si tu entorno gráfico es gnome (como mi caso) y además de ello que tiene varias deficiencias , aquel que la haya instalado podrá comprobarlas al usar Sysv-rc-conf, también existe el comando chkconfig pero no sirve en Ubuntu, y aunque llegará a suceder también queda corta en funcionamiento.
Volviendo a lo nuestro, una vez instalada simplemente debemos ejecutar como root:
sudo sysv-rc-conf
La interfaz de la aplicación podrá parecernos sencilla ya que se ejecuta por consola, sin embargo notaremos que esta muy bien diseñada, ya que nos mostrará todos los servicios que tiene nuestra sistema en orden alfabético en la primera columna , y en las siguientes columnas veremos el estatus del servicio dependiendo del runlevel que tenga , lo útil con la aplicación es que es un listado de todo lo que existe y permite la gestión en caliente de todos ellos.

El manejo es más sencillo aún ya que activamos y desactivamos simplemente presionando la tecla espaciadora y nos movemos a través de los servicios usando las teclas de direccionamiento, pero lo que lo deja a uno más perplejo es que los desarrolladores fueron más allá y habilitaron incluso el uso del cursor del ratón dentro la aplicación, es así entonces que solo haciendo click sobre el runlevel de la aplicación lo habilitamos o deshabilitamos, que más se puede pedir?
Continua...
miércoles 3 de septiembre de 2008
Error con VirtualBox - VERR_HOSTIF_INIT_FAILED -
Hay un error que lanza virtualbox de vez en cuando, producto de que ubuntu cambia la permisología a los directorios, aun realmente no se porque está sucediendo esto y tan seguido :s , y lo más extraño es que solo sucede con las maquinas virtuales de windows , no con las de linux, así que toca investigarme el porque de esto, sin embargo, por ahora coloco aquí como resolver este fastidioso problema que impide correr la maquina virtual.El error que a veces lanza VirtulBox en ubuntu al ejecutar una maquina de windows es este:
Unknown error creating VM (VERR_HOSTIF_INIT_FAILED).
VBox status code: -3100 (VERR_HOSTIF_INIT_FAILED).
Este error es porque el usuario con el que estamos intentando correr VirtualBox no tiene la permisología necesaria de lectura y escritura sobre el directorio /dev/net/tun en ocasiones la aplicación cambia el error indicando que efectivamente no tenemos permisología y hasta nos dá la solución que es ejecutar un chmod 666 sobre el directorio , sin embargo cuando es un error 3100 implica unos pasos más.
Lo primero es cambiar el grupo de usuario al directorio para ello ejecutamos en consola lo siguiente como Root (o sea , haga primero un sudo su, coloque su password y listo):
chgrp vboxusers /dev/net/tun
Después le cambiamos la permisología de lectura / escritura al dueño , grupo y resto de personas sobre el directorio:
chmod 660 /dev/net/tun
Es necesario que nuestro usuario este incluido en el grupo vboxusers, para ello abrimos el archivo de grupos y verificaremos si esta , si no lo esta pues lo incluimos , así que primero abramos al archivo:
vim /etc/group
Ahora dentro buscamos el grupo de vboxusers, algo así como lo que esta en negrilla debe aparecer :
mlocate:x:124:
vboxusers:x:125:
libuuid:x:126:
No hay que pararle al numero que esta delante del nombre del grupo, ya que es diferente en cada usuario, este numero es solo para indicar el numero del grupo, lo importante aquí es lo que este después de número, si no vemos el nombre de nuestro usuario, es necesario agregarlo, si hay otro usuario y no el nuestro pues se pone un coma y se coloca el siguiente, así que al final queda así:
mlocate:x:124:
vboxusers:x:125:nombreusuario1,nombreusuario2
libuuid:x:126:
Recordemos que para agregar texto en Vim solo hay que presionar la tecla i , después para guardar y salir presionamos Esc y después :wq! .
Y listo probamos prender de nuevo la maquina virtual y debe correr.
Continua...
martes 2 de septiembre de 2008
Cómo saber el espacio libre y usado en linux??
Últimamente me ha tocado conocer cuanto están ocupando algunas carp
etas en linux, e incluso hasta algunas particiones completas, pero a la vez también es necesario conocer cuanto espacio libre nos esta quedando en el disco duro, para ello existen dos comandos que sirven para cualquier distro y nos resuelven muy bien el problema.
Para caber cuanto ocupa una carpeta solo debemos usar Disk Usage (du)
du -h /var/www/
El -h es una opcion para que el resultado sea más facil de leer , este comando generará un listado de todos los directorios , subdirectorios y de los archivos que contiene la carpeta que estamos viendo, del lado izquierdo indicará el espacio que ocupa cada una , y al final del lista mostrará el total de todos estos archivos.
Para saber cuanto espacio libre nos queda , usamos Disk Free (df)
df -h /var/www/
Igual que el anterior , usando -h el resultado es mucho más entendible, este comando nos generará una tabla con toda la información de la carpeta que hayamos consultado, ya que nos indicará el tamaño total de la carpeta, lo que se ha usado, lo que queda disponible y un porcentaje de uso.
Continua...
miércoles 30 de julio de 2008
Donde está la Basura en Linux???
En varias ocasiones sucede que, al enviar algunos archivos a la papelera , estos no pueden ser removidos posteriormente, debido a que muchas veces el usuario que use la interfaz gráfica no tiene los privilegios para poder eliminarlos.
Cuando sucede esta situación, debemos irnos a la consola, y movernos al directorio correspondiente para poder borrar los archivos que necesitemos, el unico detalle depende del tipo de distribucion que usemos , si estamos usando Ubuntu, la ruta para la papelera es la siguiente:
/home/USUARIO/.local/share/Trash
Dentro de la carpeta Trash encontraremos dos carpetas , files y info, los archivos que necesitamos eliminar están dentro de files.
Si la distribución es Debian, la ubicación de los archivos es en:
/home/USUARIO/.Trash
En Debian además de ser distinta la ruta, es distinto el funcionamiento, ya que una vez dentro de .Trash se encontrarán los archivos que queremos borrar.
Continua...
martes 29 de julio de 2008
Cuil.com .... Otro intento de buscador
No es que uno sea un ferviente seguidor de Google, y también es cierto que deben existir más y más buscadores en la web con el fin de que no exista sitio en la red al que no se le pueda llegar.
Sin embargo lo que molesta , es que llegue algo nuevo a la red prometiendo ser el Mejor siendo puro cuento publicitario!!!, en estos días es muy fácil descubrir las mentiras, y así se puede comprobar con cuil.com.
Cuil.com son los nuevos chicos de la red, aunque son personas experimentadas, ya que la mayoría son ex empleados de Google y de otras grandes empresas, y al parecer se vienen con todo, puesto que tienen fuerte apoyo de varios inversionistas, se asegura que hay mas de 30 millones de dolares en juego.
Al entrar al sitio, nos encontramos con la típica pantalla sencilla , como debe ser un buscador, lo bueno esta después de hacer la consulta, ya que el resultado reflejado no es de la manera común como un listado, sino que salen varios sitios cada uno con su resumen y algunos con una foto, por defecto la distribución es de 3 columnas , pero se puede personalizar a 2 columnas.
Del lado superior derecho tiene un indicador para salvar la búsqueda realizada, esto es obvio puesto que como están recientes, seguro almacenan las búsqueda encontradas y no encontradas, ya que por ningún lado te permiten agregar tu sitio web (olvídense de "add url to cuil.com").
Lo irónico de todo el asunto, es que al comenzar la búsqueda, en la primera pantalla te muestran un numero que representa el total de sitios web que están siendo indexados, hasta ahora van por 121,617,892,992, un numero mega grandote, pero que a mi me pareció de lo más falso, y esto es lo que más molesta, ya que han sido muchoooooos los intentos de muchaaaas empresas de lanzar un motor de búsqueda que se ponga a la par de Google, pero esta gente se lanzan con campañas publicitarias indicando que indexan hasta 3 veces mas lo que hace Google!!!!, es decir, la indexación de google esta por el orden de los 40millones de sitios web, haciendo un pequeño ejercicio de lógica podríamos decir que al poner "elchechoinmundo" que si sale en Google, pues es obvio que salga por acá, resulta que no es así!!.
Sin embargo dejando de lado el egocentrismo y buscando algo más rutinario por ejemplo "password encriptado en grub de linux" en donde con Google te arroja alrededor de 12mil sitios web, en Cuil.com nos encontramos con la gran sorpresa de ....... 0 ...... resultado!!!!, y esto sencillamente porque muchos de los sitios en español ni siquiera los busca jajaja. Y uno se pregunta .... de verdad que esto hace una búsqueda en 120millones de sitios web?? o es otro lanzamiento en la red con publicidad engañosa??? haga ud. la prueba y decida que seguir usando, para mí Cuil.com es otro intento más de buscador web.
Continua...














