Blog

  • Cómo reparar una memoria USB dañada en Windows

    ¡No tires tu memoria USB a la basura todavía! Antes de darla por perdida, hay algunos trucos que puedes intentar para rescatarla.

    La posibilidad de recuperar una memoria USB dañada depende del tipo de daño que tenga. Si hay algún daño físico, es posible que no puedas repararla y pierdas los datos que contiene.

    Sin embargo, no te preocupes, aquí te presentamos algunas soluciones para los problemas más comunes que sí tienen solución:

    1. Conecta la memoria USB en un puerto diferente. A veces, el problema puede estar en el puerto USB en sí. Prueba conectarla a otro puerto de tu computadora o incluso a otro equipo.

    2. Ejecuta el solucionador de problemas de Windows. Windows tiene una herramienta integrada para solucionar problemas con dispositivos USB. Para usarla, sigue estos pasos:

    • Conecta la memoria USB a tu computadora.
    • Abre el Panel de control.
    • Busca y haz clic en Solución de problemas.
    • Selecciona Hardware y dispositivos.
    • Sigue las instrucciones en pantalla.

    3. Formatea la memoria USB. Si todo lo demás falla, puedes intentar formatear la memoria USB. Esto borrará todos los datos que contiene, así que asegúrate de tener una copia de seguridad antes de hacerlo. Para formatear la memoria USB, sigue estos pasos:

    • Conecta la memoria USB a tu computadora.
    • Abre el Explorador de archivos.
    • Haz clic derecho en la memoria USB y selecciona Formatear.
    • Selecciona el sistema de archivos (por ejemplo, FAT32 o NTFS) y haz clic en Iniciar.

    4. Utiliza un software de recuperación de datos. Si la memoria USB está formateada o dañada, puedes intentar usar un software de recuperación de datos para recuperar tus archivos. Hay muchos programas de recuperación de datos disponibles, tanto gratuitos como de pago.

    Recuerda:

    • Siempre es mejor prevenir que curar. Haz copias de seguridad de tus datos importantes regularmente para evitar perderlos en caso de que tu memoria USB se dañe.
    • Si no estás seguro de cómo reparar tu memoria USB, o si no te sientes cómodo haciéndolo tú mismo, puedes llevarla a un profesional.

    ¡Con un poco de suerte, podrás recuperar tu memoria USB y tus datos!

    ¡Tu memoria USB no funciona? ¡No te preocupes, hay soluciones!

    Windows puede ayudarte:

    1. ¡Windows al rescate! En muchos casos, Windows tiene una herramienta integrada que detecta y repara memorias USB dañadas. Cuando conectes una memoria sin protección de escritura y detecte un problema, te avisará con una notificación en la parte inferior derecha de la pantalla. Haz clic en ella para iniciar la reparación.
    2. Analiza y repara: Se abrirá una ventana preguntándote si deseas examinar y reparar la memoria USB. No te dará muchos detalles, pero selecciona la opción «Examinar y reparar» para que Windows analice la memoria y la repare sin perder tus archivos.
    3. ¡Reparación en marcha! Tras analizar el equipo, Windows te dirá en una nueva ventana si ha encontrado errores. Simplemente haz clic en «Reparar unidad» para iniciar la reparación. Cuando termine, un mensaje te indicará si la reparación ha sido exitosa y ya podrás usar la memoria USB de nuevo.

    Formateo: último recurso

    Si el método anterior no funciona (y perderás los datos en la memoria USB), puedes formatearla:

    1. Abre el Explorador de archivos de Windows. Puedes hacerlo desde un acceso directo o buscándolo en el menú de inicio.
    2. Localiza tu memoria USB. En la columna de la izquierda del Explorador de archivos, busca la unidad USB. Haz clic derecho sobre ella y selecciona «Formatear» en el menú emergente.
    3. Elige un sistema de archivos. Se abrirá una ventana con opciones de formato. Selecciona «Sistema de archivos» y elige uno de los disponibles (por lo general, FAT32, NTFS o exFAT).
    4. ¡Formateo en marcha! Haz clic en «Iniciar» para formatear la unidad con el sistema de archivos elegido. Puedes elegir un formateo rápido o lento, pero para cambiar el sistema de archivos cualquiera de las dos opciones es válida.
    5. Vuelve a cargar tus archivos. Una vez finalizado el formateo, puedes volver a cargar los archivos que deseas tener en la memoria USB.

    Diskpart: para usuarios avanzados

    Si los métodos anteriores fallan, puedes usar Diskpart, una herramienta más avanzada que funciona desde el Símbolo del sistema:

    1. Abre el Símbolo del sistema como administrador. Presiona el botón de Windows, escribe «CMD» y selecciona «Ejecutar como administrador» en los resultados.
    2. Inicia Diskpart. En el Símbolo del sistema, escribe «diskpart» y presiona Enter. Aparecerá «DISKPART>» en la siguiente línea, indicando que la herramienta está activa.
    3. Lista las unidades. Escribe «list disk» y presiona Enter. Aparecerá una lista con las unidades de almacenamiento de tu equipo. Identifica tu memoria USB por su tamaño (suele ser menor que los discos duros) y anota su número de disco.
    4. Selecciona la unidad. Escribe «select disk N», reemplazando «N» por el número de disco de tu memoria USB. Presiona Enter. La unidad quedará seleccionada y los comandos posteriores se aplicarán solo a ella.
    5. Limpia la unidad. Escribe «clean» y presiona Enter. Esto borrará todo el contenido de la memoria USB, incluyendo la partición.
    6. Crea una nueva partición. Escribe «create partition primary» y presiona Enter. Se creará una partición que ocupe todo el espacio de la memoria USB.
    7. Selecciona la partición. Escribe «select partition 1» y presiona Enter. La partición creada quedará seleccionada.
    8. Elige un sistema de archivos y formatea. Escribe «format fs=fat32» (o «format fs=ntfs» o «format fs=exfat») y presiona Enter. Se formateará la partición con el sistema de archivos elegido.

    ¡Listo! El proceso tardará unos minutos, pero una vez finalizado debería poder usar tu memoria USB nuevamente. Si el problema persiste, es posible que haya un daño físico en la memoria que no puedas reparar.

    Recuerda:

    • Precaución: Formatear una memoria USB borrará todos los datos que contenga. Asegúrate de tener una copia de seguridad antes de hacerlo.
    • Si no te sientes cómodo usando Diskpart, puedes llevar tu memoria USB a un profesional para que la repare.

    ¡Espero que estos pasos te ayuden a recuperar tu memoria USB!

  • Nuestra Preciosa Colección

    Con ropita de primavera, verano

    Bella

    Rosamund

    Rosamund, Blanca y Bella

    Beatrice

    Elenita

    Leonor

    Rosita

    Sarita

    Hector

    Las mellizas Cármen y Lola.

    Adriancito

    Hector

    Jesusito

    Hugo

    Moisés

    Hipatia

    Marcelino

    Nadiuska

    Nadia y Paulova

    Valentina

    Tadeo

    María

    Agustín

    Alba

    María, Agustín y Alba

    Paloma

    Carmelilla

    Laura

    Estrellita

    Cristinita

  • Room Persistence

    Error en Android Studio Iguana

    Al usar la base de datos Room, se encontró un error.

    AppDatabase_Impl does not exist

    Esta es la solución.

    Cambios en build.gradle.kts

    Se deben realizar cambios en el archivo build.gradle.kts a nivel de aplicación, como agregar id("kotlin-kapt"), establecer sourceCompatibility y targetCompatibility a JavaVersion.VERSION_17, y configurar kotlinOptions.

    plugins {
        id("kotlin-kapt")
    } 
    
    android {
    
    compileOptions {
            sourceCompatibility = JavaVersion.VERSION_17
            targetCompatibility = JavaVersion.VERSION_17
        }
        kotlinOptions {
            jvmTarget = "17"
        }
    }
    
    dependencies {
    
    val room_version = "2.5.2"
    
    implementation("androidx.room:room-ktx:$room_version")
    kapt("androidx.room:room-compiler:$room_version")
    
    }
    
    kapt {
        correctErrorTypes=true
    }

    Habilitar KSP

    Se debe habilitar KSP en el archivo build.gradle.kts a nivel de módulo con ksp("androidx.room:room-compiler:2.5.0") y eliminar cualquier configuración relacionada con kapt. En el momento de escribir este artículo no estaba habilidado KSP pues habilitando Kapt se había solucionado el problema.

    plugins {
        id("com.google.devtools.ksp") version "1.8.10-1.0.9" apply false
    }
    dependencies {
        ksp("androidx.room:room-compiler:2.5.0")
    }
    plugins {
        id("org.jetbrains.kotlin.kapt") //Remove this 
        apply plugin: 'kotlin-kapt'//Remove this if you are using Groovy
    }

    Además debes eliminar cualquier configuración sobrante relacionada con kapt, por ejemplo:

    kapt {
        correctErrorTypes = true
        useBuildCache = true
    }

    Conclusión

    Siguiendo estos pasos, el proyecto se sincronizará y construirá sin errores.

  • Ejercicio 1: Servidor VPs

    Registrar un dominio en Namecheap y configurar los DNS del alojamiento.

    He registrado un Dominio en Namecheap.

    He configurado las DNS para el alojamiento.

    DNS en Digital Ocean.

    SET UP SERVER ON THE DIGITALOCEAN DROPLET:

    • Instalar LAMP/LEMP

    He instalado una versión LAMP/LEMP de Ubuntu del marketplace de DigitalOcean

    • Creación de nuevo usuario y añadirlo al grupo sudo.

    He creado el usuario Julio y lo he añadido al grupo sudo ya tengo los privilegios de super usuario

    • Configurar un firewall básico.
    # ufw app list

    Ya tenía algunas entradas configuradas.

    • Deshabilitar el acceso del usuario root por ssh
    $ sudo nano /etc/ssh/sshd_config

    Mediante este comando entramos en sshd_config y modificamos PermitRootLogin a no

    • Instalar el servidor de correo Postfix y añadir un registro SPF

    He configurado Postfix según https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-postfix-on-ubuntu-20-04-es#paso-2-cambiar-la-configuracion-de-postfix

    No lo puedo poner aquí por motivos de seguridad pero está correcto.

    He probado el funcionamiento de Postfix y ha dado el siguiente resultado.

    He configurado /etc/profile.d mail.sh

    Al final del archivo /etc/s-nail.rc he añadido

    Al final set emptystart, set folder= Maildir, set record=+sent

    Ya me confirma que he recibido nuevo correo

    Verificamos para asegurar que el directorio se creó buscando mi directorio ~/Maildir

    ls -R ~/Maildir

    Para abrir el cliente, ejecutamos s-nail y veremos una bandeja rudimentaria.

    Puedo ver mis mensajes enviados en mi cliente s-nail después de usar

    cat ~/test_message | s-nail -s 'Test email subject line' -r contact@example.com user@email.com

    Nota: No he logrado que me funcione correctamente hasta que he configurado Brevo.

    • Instalar un certificado con Let’s Encrypt para usar https:

    Después de seguir todos los pasos ha quedado como la imagen y se renueva periódicamente.

    En fail2ban configuration he creado el archivo jail.local con

    sudo cp /etc/fail2ban/jail.{conf,local}

    y le he introducido algunos cambios en la configuración

    Una vez instalado se ve que está en funcionamiento. 

    Un ejemplo de que está funcionando.

    He instalado Webmin con apt-get install webmin --install-recommends Una vez seguidos todos los pasos así queda Webmin. Que le he instalado el módulo Nginx.

    Para configurar un virtual host he seguido los siguientes pasos.

    sudo mkdir -p /var/www/ejemplojulio/html
    sudo chown -R $USER:$USER /var/www/ejemplojulio/html
    sudo chmod -R 755 /var/www/ejemplojulio
    
    <html>
    <head>
    <title>Welcome to ejemplojulio</title>
    </head>
    <body>
    <h1>Success! The ejemplojulio server block is working!</h1>
    </body>
    </html>
    sudo nano /etc/nginx/sites-available/ejemplojulio
    ----------------------------------
    server {
    listen 80;
    listen [::]:80;

    root /var/www/ejemplojulio/html;
    index index.html index.htm index.nginx-debian.html;

    server_name ejemplojulio.juliomalaga.me www.ejemplojulio.juliomalaga.me;

    location / {
    try_files $uri $uri/ =404;
    }
    }
    -------------------------------
    sudo ln -s /etc/nginx/sites-available/ejemplojulio /etc/nginx/sites-enabled/
    --------------------------------
    sudo nano /etc/nginx/nginx.conf
    ---------------------------------
    ...
    http {
    ...
    server_names_hash_bucket_size 64;
    ...
    }
    ...
    ------------------------
    sudo nginx -t
    ---------------------------
    sudo systemctl restart nginx

    Resultado del conmando sudo nginx -t

    Resultado del comando systemctl status nginx

    Le pedimos el certificado

    Comprobamos el funcionamiento del servidor virtual con https://ejemplojulio.juliomalaga.me

    He instalado Netdata con

    wget -O /tmp/netdata-kickstart.sh https://get.netdata.cloud/kickstart.sh && sh /tmp/netdata-kickstart.sh --prepare-offline-install-source ./netdata-offline

    Probé el funcionamiento para acceder a Nedata vía http://juliomalaga.me:19999/

    CONFIGURAR UN PROXY PARA ACCEDER A NETDATA VIA NGINX

    Mediante Webserver he creado un servidor virtual netdata.juliomalaga.me y lo he configurado con el siguiente código:

    upstream backend {
    # the Netdata server
    server 127.0.0.1:19999;
    keepalive 1024;
    }

    server {
    # nginx listens to this
    # uncomment the line if you want nginx to listen on IPv6 address
    #listen [::]:80;

    # the virtual host name of this
    server_name netdata.juliomalaga.me;

    location / {
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Server $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://backend;
    proxy_http_version 1.1;
    proxy_pass_request_headers on;
    proxy_set_header Connection "keep-alive";
    proxy_store off;
    }

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/netdata.juliomalaga.me/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/netdata.juliomalaga.me/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot


    }


    server {
    if ($host = netdata.juliomalaga.me) {
    return 301 https://$host$request_uri;
    } # managed by Certbot

    # ...
    auth_basic "Protected";
    auth_basic_user_file passwords;
    # ...


    listen 80;
    server_name netdata.juliomalaga.me;
    return 404; # managed by Certbot


    }

    Eliminar regla del cortafuegos con

    sudo ufw status numbered
    sudo ufw delete N

    PONER USUARIO Y CONTRASEÑA PARA ACCEDER A NETDATA

    sudo su
    printf "julio:$(openssl passwd -apr1)" > /etc/nginx/passwords
    -----------
    Y EN EL ARCHIVO DE CONFIGURACIÓN DEL SERVIDOR VIRTUAL

    upstream backend {
    # the Netdata server
    server 127.0.0.1:19999;
    keepalive 1024;
    }

    server {
    # nginx listens to this
    # uncomment the line if you want nginx to listen on IPv6 address
    #listen [::]:80;

    # the virtual host name of this
    server_name netdata.juliomalaga.me;

    location / {
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Server $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://backend;
    proxy_http_version 1.1;
    proxy_pass_request_headers on;
    proxy_set_header Connection "keep-alive";
    proxy_store off;
    }

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/netdata.juliomalaga.me/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/netdata.juliomalaga.me/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot


    }


    server {
    if ($host = netdata.juliomalaga.me) {
    return 301 https://$host$request_uri;
    } # managed by Certbot


    auth_basic "Protected";
    auth_basic_user_file passwords;



    listen 80;
    server_name netdata.juliomalaga.me;
    return 404; # managed by Certbot


    }

    INSTALAMOS EL CERTIFICADO SSL:
    // sustituir alumno.me por el dominio usado
    sudo certbot --nginx -d netdata.juliomalaga.me
    • Instalación de mc
    sudo apt install mc
  • Proyecto Electrolineras

    Proyecto App para la carga de vehículos eléctricos