Error al montar NTFS, necesita un chkdsk /f

Si tienes problemas para montar un disco duro ó unidad USB formateada con NTFS ya que te dice que necesita reparación del sistema de archivo, porque se apago sin desmontar la unidad y que debemos de utilizar el comando chkdsk /f (que es un comando de Windows), tenemos la solución sin salir de nuestra sistema operativo Linux, en este caso Ubuntu.

El comando que nos ayuda a solucionar este problema de reparación del sistema de archivos se llama ntfsfix, aunque no pretende ser un chkdsk, pero ayuda a reparar algunas inconsistencias del NTFS.

Simplemente como Root lo ejecutamos de esta forma, donde /dev/sdb1 es nuestro disco duro USB.

[email protected]:~# ntfsfix /dev/sdb1
Mounting volume… FAILED
Attempting to correct errors…
Processing $MFT and $MFTMirr…
Reading $MFT… OK
Reading $MFTMirr… OK
Comparing $MFTMirr to $MFT… FAILED
Correcting differences in $MFTMirr record 0…OK
Processing of $MFT and $MFTMirr completed successfully.
Setting required flags on partition… OK
Going to empty the journal ($LogFile)… OK
NTFS volume version is 3.1.
NTFS partition /dev/sdb1 was processed successfully.

Despues de esto, solo nos resta montar la unidad,

[email protected]:~# mkdir /media/DISCO_MONTADO
[email protected]:~# mount -t ntfs-3g /dev/sdb1 /media/DISCO_MONTADO -o force

y listo, para la proxima no hay que olvidar desmontar correctamente la unidad externa.

vb.net pocket: Error: No such host is known

Pues ya encontre la solución al error de No such host is known que habia comentado en el post anterior.

System.Net.Socket.SocketException: No such host is known

Resulta que tenia algo así:

Dim hostEntry As IPHostEntry = Nothing
Dim servidor As String = “192.168.1.2”
hostEntry = Dns.Resolve(servidor)

Y pues al tratar de resolver la IP marcabá el error, la solución fue no resolver la IP y ponerla digamos que directa, con algo como esto:

Dim ipAddr As System.Net.IPAddress
Dim hostEntry As IPHostEntry = Nothing
Dim servidor As String = “192.168.1.2”
ipAddr = IPAddress.Parse(servidor)

Y listo!, ya funciona correctamente!.
Aca se ve otro ejemplo para crear sockets por IP

vb.net pocket: Error en System.Net.Sockets

Me aparece el siguiente error en una aplicación creada con VisualBasic .NET para PocketPC al momento de utilizar la función Dns.Resolve(server).

System.Net.Socket.SocketException: No se puede mostrar un mensaje de error porque no se pudo encontrar un ensamblado de recursos opcional que lo contiene

La solución para quitar este error y ver porque esta fallando es agregar la referencia System.SR al proyecto, una vez agregada la referencia ya aparecerá el mensaje de error, en mi caso me dice:

System.Net.Socket.SocketException: No such host is known

Pero bueno!, ese error ya es otra cosa!….
La solución la encontre en el foro de msdn compact framework

Resetear la contraseña del usuario Root en MySql

Si por alguna razón se les olvido la contraseña del usuario ROOT en MySQL existe una opción sencilla para cambiarla, el unico requisito es claro tener privilegios de root en su distribución de linux favorita, ya sea ubuntu, debian, centos, etc… en estos ejemplos usaremos Ubuntu (ó Debian debe de jalar igual)

El paso 1 es detener el servidor MySQL,

/etc/init.d/mysql stop

Despues iniciar MySQL saltando la autentificación y deshabilitando la escucha de la red, digo por aquello de los hackers, con el siguiente comando tambien habilitamos el servicio en background (con el amperson se indica eso)

mysqld –skip-grant-tables –skip-networking &

Ahora si, nos conectamos al servidor de MySQL, especificamente la tabla mysql

mysql mysql -u root

Y pues a ejecutar el siguiente comando:

UPDATE user SET password=PASSWORD(‘mi_nueva_clave’) WHERE user=”root”;
quit;

Y listo!, matamos el proceso y reiniciamos mysql normalmente., para ver el proceso cuando lo lanzamos en background nos aparecio un número del proceso.

kill -9 NUMERO

Y listo!, a iniciar el servicio (quizas con el restart mata el proceso, pero mejor el kill para estar seguros):

/etc/init.d/mysql restart

A disfrutar del MySQL y claro! no olvidar la clave! jeje.

ERROR: -bash: /bin/rm: La lista de argumentos es demasiado larga

He tratado de eliminar muchisimos archivos temporales, pero al ejecutar el comando: rm * me da el error que los argumentos son demasiados largos.

El problema radica que sustituye el * por los nombres de archivos, y bash solamente soporta 4000 parámetros.

La solución es buscar cada archivo y después eliminarlo, quedando el comando como sigue:

find /tmp/ -name “cache_*” -exec rm {} \;

Substituyendo /tmp/ por la carpeta donde estan los archivos, y cache_* por el nombre del archivo a buscar.

SQLServer y PHP: Error con Heterogeneous queries require the ANSI_NULLS and ANSI_WARNINGS

Al conectarme a una vista de MS SQLServer desde PHP, me aparecio el siguiente error en el log del codeigniter:

message: Heterogeneous queries require the ANSI_NULLS and ANSI_WARNINGS options to be set for the connection. This ensures consistent query semantics. Enable these options and then reissue your query. (severity 16)

Y pues la consulta SQL no se ejecuta., la solución es ejecutar antes las siguientes consultas SQL:

SET ANSI_WARNINGS ON
SET ANSI_NULLS ON

Y despues ya ejecutar su consulta normal, digamos que en codeigniter tendriamos algo asi:

$this->db->query('SET ANSI_WARNINGS ON');
$this->db->query('SET ANSI_NULLS ON');

Y listo! asunto arreglado 🙂

Aca una explicación en ingles desde la página de Microsoft