Como era de esperarse, este aparato dejó de funcionar. Irreparablemente. Claro, en realidad es reparable, pero las molestias son tantas para su tan bajo coste que sale mejor comprar otro y olvidarse del asunto. Igual tenia curiosidad por desarmarlo y así lo hice.

Introducción

Como muchas de las cosas que desarmo, esto sufre de un efecto de obsolescencia programada. No creo que sea tan intencional como sugiere la expresión y mucho de lo que he visto que se califica como obsolescencia programada, solo es flojera o un intento de abaratar costos. Por supuesto que existe la que trata de maximizar ganancias, pero no parece ser tan común como la simple flojera o intentos de abaratar costos. Este aparato cuenta con solo 4 tornillos. Es perfectamente desarmable, y otros componentes estan fijos en su lugar por fijacion mecanica y no adhesivos. es posible desarmarlo por completo sin romper nada, pero no invita a repararse. Las cuatro pilas de Niquel y Cadmio estan encerradas en el cuerpo del aparato y no hay forma de reemplazarlas sin desarmarlo. Tampoco da alternativas de funcionamiento cuando las pilas dejen de hacerlo, asi que una vez muertas, para el comun de la humanidad, el aparato entero sera inservible. Las pilas de Ni-Cd (4.8V) son un sistema de almacenamiento de energia barato y ya anticuado, que sufre un fuerte efecto de memoria que las mata en poco tiempo. Ademas, tienen una baja densidad energética, por lo que tampoco es que sean la cosa mas potente del mundo. Tanto asi, que para alcanzar sus 4.8V necesitaron poner 4 pilas bien gordotas que hagan el trabajo de lo que ahora se podría hacer con una sola 18650 y la mitad del peso. Pack de baterias Ni-Cd

El Desarme

Como dije, no es complicado de desarmar. solo hay 4 tornillos. Vista interior motorTornillos PhilipsVista interior TurbinaCircuito de bomba de aire para inflar colchones Por pura intuicion determine que la bateria habia dejado de funcionar, asi que intente hacer una prueba para saber si efectivamente era asi. Conecté un pack de baterias cuya salida era de solo 5v 2A directamente al motor sin resultado alguno. Resulta que el motor, uno sencillo de 8V, puede tirar tanta corriente que dispara los circuitos de proteccion del pack de bateria, interrumpiendo la conexion de inmediato. Al parecer, esto pasaria tambien con los cargadores de pared, por lo que no serviría para intentar probarlo. Usando el mismo pack de baterias, esta vez cablee de forma directa, sin pasar por los circuitos de proteccion, consiguiendo 3.7V y mas de 10000Mah, por lo que esta vez si que funciono el pequeño motor. El problema es que los Amperajes aportan velocidad al motor, pero el voltaje es el que aporta fuerza, por lo que aunque todo provenga del mismo pack de baterías, hay que organizar de diferente forma para obtener mejores resultados. Asi, conectando 2 18650 en serie, obtuve 7.4V con lo que el motor, aunque con menos pilas, si que giraba con fuerza, aunque con menos velocidad. Esto si es útil para inflar un colchón.

Curiosidades

Aunque es un adefesio simple, la verdad me sorprendió encontrar que no era tan primitivo como otras cosas que hemos analizado. El circuito del aparato estaba conformado por un cerebro n79e814A, que no es un simple regulador, sino un microcontrolador de 8 bits de Nuvoton. Esto significa que el inflador tiene lógica programada. Es el encargado de medir el voltaje de las baterías y, si detecta que están por debajo de un umbral (como cuando mueren las de Ni-Cd), bloquea el paso de corriente por seguridad. Por eso no arrancaba simplemente «inyectando» energía al circuito. Como intuia a primera vista por la bobina inductora 470, también tiene un boost converter. Este inductor de 47µH es el corazón del sistema Boost. Junto con un MOSFET (seguramente cercano), se encarga de «patear» el voltaje hacia arriba. El número 470 indica su valor inductivo, esencial para convertir los 4.8V de las pilas en un voltaje estable para el motor. Por ultimo, también destacan los filtros (Capacitores 100 10V VT): Son capacitores electrolíticos de 100µF a 10V. La serie VT suele indicar que son de baja impedancia (Low ESR), diseñados para filtrar el ruido eléctrico del motor y estabilizar los picos de tensión del convertidor Boost. Que sean de 10V nos confirma que el circuito interno nunca debería superar ese voltaje, validando nuestra elección de 7.4V (2S) como el límite seguro.

Conclusiones

Puede parecer raro lo que digo, pero tal vez no valga la pena repararlo. Es cierto que es posible, pero es un aparato que genera mucho calor y las baterías de litio no son especialmente amigas del calor. Tampoco les va bien con la sobredescarga, por lo que un motor asi, puede drenarlas antes de que te des cuenta y terminaras con baterías muertas ademas del propio inflador. Con los riesgos y lo que cuesta repararlo, seguro sale mas barato y cómodo comprar otro. Pero si puedes, elije uno que no sea recargable. Los aparatos recargables que no son de uso frecuente, especialmente los de Niquel y Cadmio, mueren en los cajones y te traicionan cuando mas los necesitas. https://interlan.ec/blog/2026/03/27/desarme-inflador-generico-para-colchones-inflables/ #cosasChinasTruchas #desarme #experimentos #solucionDeProblemas
La usurpación de identidad es una técnica bastante curiosa en el sentido de que no funciona para causar ningún daño técnico, sino para engañar al humano del otro lado del computador. Ya revisamos lo que sucedía en el Spoofing y ahora me salen con el SMTP Smuggling.

Introducción

SMTP Smuggling y Email Spoofing son medidas de ingeniería social mas que ataques técnicos. Por supuesto se necesita conocimientos técnicos para efectuarlos, pero no vulneran la seguridad de la cuenta del usuario ni la comprometen en el servidor. Solo sirve para mandar mensajes amenazadores a los dueños de la cuenta quien, dependiendo de su pericia técnica y social, puede o no caer en el engaño y ceder a las extorsiones del atacante. En entradas anteriores ya revisamos que es el Email Spoofing y como contrarrestarlo efectivamente.  Por supuesto que funciona, pero ahora me ha llegado un nuevo correo. De parte de mi mismo y con el unico contenido de «Hello.». No pos. Miedo. Fuente del correo enviado mediante smtp smuggling

SMTP Smuggling

Es una técnica bastante reciente. Por supuesto hablo de años, pero no tan reciente como el spoofing que ya podría contarse en décadas. Se basa en confundir al servidor mediante caracteres especiales. Según estoy revisando, parece que por el 2023 se anuncio de su existencia y en el 2024 Postfix hizo declaraciones al respecto. En la pagina https://smtpsmuggling.com/ hacen una explicación sobre la técnica y como funciona, mostrando una lista de software afectado. Me resulta gracioso notar que la lista es larguísima y creen que puede ser mayor, pero hay un solo software que parece inmune. qmail. El SMTP Smuggling es una vulnerabilidad novedosa que permite la suplantación de correo electrónico al explotar las diferencias de interpretación del protocolo SMTP en constelaciones de servidores vulnerables. Más específicamente, diferentes entendimientos de las llamadas secuencias de «final de datos» entre los servidores SMTP salientes (de envío) y de entrada (recepción) pueden permitir que un atacante contrabandee, por lo tanto, correos electrónicos con contrabando SMTP (ver Figura 1). Los actores de amenazas pueden abusar de esto para enviar correos electrónicos maliciosos desde direcciones de correo electrónico arbitrarias, lo que permite ataques de phishing dirigidos. El software afectado identificado en el lado saliente incluye Exchange Online y GMX, que albergan millones de dominios. En el lado de entrada, más de un millón de instancias SMTP, incluyendo Postfix, Sendmail, Cisco y otros se ven afectados. Esto permitió suplantar correos electrónicos de millones de dominios (por ejemplo, microsoft.com, github.com, gmx.net) a millones de servidores SMTP.Explicación del stmp smuggling

Lo que Postfix dice

Al parecer lo que hay temporalmente es un parche que se puede aplicar mas no una solución persistente. En la pagina de postfix dicen lo siguiente: Días antes de unas vacaciones de Navidad de más de 10 días y la producción asociada Congelación del cambio, SEC Consult ha publicado un ataque de suplantación de correo electrónico Que implica una composición de servicios de correo electrónico con diferencias específicas En la forma en que manejan las terminaciones de línea distintas de <CR><LF>. Técnicamente, el ataque explota la confusión de END-OF-DATA en un servicio de recepción de correo, engañando a un servicio de envio de correo  para enviar una secuencia de END-OF-DATA no estándar <LF>. <LF> o <LF>. <CR><LF> en la mitad de un mensaje de correo electrónico, seguido de los comandos SMTP del atacante que inyectan un mensaje de correo electrónico falsificado (la secuencia estándar de END-OF-DATA es <CR><LF>. <CR><LF>). La vulnerabilidad fue introducida hace muchas décadas en Sendmail, por permitir que la línea no estándar <LF> termine además de la Estándar <CR><LF>. Para compatibilidad con programas Que esperan el comportamiento de Sendmail, la línea no estándar <LF> El final también fue permitido por otros servidores SMTP, incluyendo Postfix y Exim. Desafortunadamente, la información crítica proporcionada por el investigador no se pasó a los mantenedores de Postfix antes de la publicación de la Ataque, de lo contrario, ciertamente habríamos convencido a la SEC Consultar Posponer la publicación hasta después de que la gente tuvo la oportunidad de actualizar su Postfix u otros sistemas afectados. El resultado neto: un ataque de día cero presumiblemente no deseado fue Publicado porque algunas personas no eran conscientes del alcance del ataque. Después de que se publicó el ataque, se asignaron CVE para Postfix, Sendmail, y Exim (ver cve.mitre.org para una lista completa de MTA afectadas).

Solución

Actualiza XD Postfix ya publicó un parche persistente en las versiones 8.5.23 en adelante. Esta es una lección para mi. Porque al notar este ataque, me di cuenta de que he estado recibiendo spam de este tipo y no me había dado cuenta. Daba por sentado que eran cuentas secuestradas o creadas para este menester en esos servicios y solo me di cuenta cuando al parecer alguien hacia un scanner de vulnerabilidad en mi server y mandó ese mensaje que destaqué al principio. Al compa que andaba revisando mi server… Tenias razón. No tenia mi server actualizado… hasta ahora.

Conclusiones

Pues esto es un descuido. Aunque es un ataque relativamente reciente, mi servidor no estaba preparado para ello. Ya he realizado los debidos procesos de actualización con lo que al menos esta vulnerabilidad debería estar resuelta. https://interlan.ec/blog/2026/02/27/seguridad-smtp-smuggling/ #correoElectrónico #devops #email #seguridadInformática #selfhosting #servidores #solucionDeProblemas #spam #vps

Desde la versión 30 de Nextcloud NCDownload ya no funciona y parece estar estancado o directamente muerto. No tengo ganas de esperar a que lo actualicen. El ecosistema de Nextclod esta lleno de cadáveres, así que vamos probando una idea loca basada en el articulo anterior. Agreguemos servicios a un mismo VHost mediante nginx.

Introducción

A veces parece que Nextcloud se actualiza mas rápido que su ecosistema y si bien, no es necesario andar actualizando a cada rato, ya va por la version 30 y la ultima que use con todas sus apps funcionales era de antes de que se llame NextCloud Hub. Eso es hace un montón. Ahora le quieren meter IA por todas partes, pero sus apps siguen muriendo. Mi favorita NCDownloader por ejemplo, ya no funciona desde la version 29, parece.

Muchas de las aplicaciones que antes usaba, aun siguen en la tienda. Muertas. Preferiria que las saquen si ya no van a funcionar, pero ahí siguen. Me da un poco de desconfianza esto, pero es cuestión de no instalar todo lo que veo a lo loco. Aun asi, me vienen bien algunas funciones y no quiero programar nuevos complementos, asi que quiero intentar algo.

Parece que existe una app llamada Aria2 que era el núcleo que permitía descargar cosas con NCDownloader y lo puedo instalar de forma local. Como ahora tengo un montón de almacenamiento disponible y algo de procesador extra, vamos viendo si es viable integrar esto.

El Problema

NCDownloader no funciona. Pero no quiero exponer mas puertos ni servicios para mas de controlar una app local, así que si lo que estoy intentando funciona, se podría aplicar a mas servicios. Claro, Aun estarán expuestos, pero mientras nadie lo sepa, no debería haber problemas XD.

La solución

Vamos asumiendo que ya tienes un esquema similar al del articulo anterior. Vamos añadiendo unas cuantas cosas mas para que el plan funcione. Necesitamos Aria2 y AriaNG

sudo apt update && sudo apt install aria2 -y

AriaNG te lo tendras que sacar desde su repo de GitHub. Es un solo archivo HTML que funcionara como interfaz grafica para Aria2 mediante JsonRPC

https://github.com/mayswind/AriaNg

Tienes que configurar Aria2 para recibir peticiones RPC

aria2c --enable-rpc --rpc-listen-all --rpc-secret=TU_CLAVE_SEGURA -D 

El «TU_CLAVE_SEGURA» puede ser cualquier cosa. pero te recomiendo generar una clave que vas a necesitar un poco después.

Ahora necesitas desplegar AriaNG. Por ejemplo, puedes dejarlo en /var/www/ariang

Con estas cosas ya tenemos listo las cosas que necesitamos para que trabaje el descargador, pero ahora nos hace falta configurar los proxies.

Configuracion de Nginx Local

A partir de aquí, vamos configurando el Nginx para que podamos utilizar Aria2. Agrega estos codigos dentro del apartado server, antes de tu location /Esto es muy importante debido a que Nextcloud tiene unas agresivas reglas de reescritura de URL que impiden que tengas otros servicios que no sean de nextcloud.

Al ubicarlas antes del location / puedes hacer que se ejecuten antes de que las reglas de reescritura los intercepten.

Usaremos los comodines ~^ para asegurarnos que no sean interceptados por las demás reglas.

location ~^/ariang/ { alias /var/www/ariang/; # Asegúrate de que termine en barra / index index.html; try_files $uri $uri/ =404; } location ~^/jsonrpc { proxy_pass http://10.0.0.2:6800; # SIN barra al final proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; # Evitar redirecciones automáticas de Nginx proxy_redirect off; }

El primer bloque location es para servir, mediante la configuración de tu Nginx local, en el directorio AriaNG el contenido de la carpeta que ubiques en el campo «alias»

El segundo bloque, en cambio, permite redireccionar el servicio local de aria2 para que salga por el mismo servidor de NextCloud.

Con las configuraciones actuales, de forma local ya puedes acceder a http://localhost/ariang/ y podrías visualizar la interfaz gráfica. Puedes hacer las configuraciones que consideres apropiadas, pero vamos a avanzar un poco mas antes de eso.

Debido a las configuraciones que hemos hecho, ya podríamos utilizar desde el servidor publico la interfaz AriaNG sin problemas.

A partir de ahora, puedes ir a las configuraciones de tu nextcloud y en el apartado de «Sitios Externos» puedes agregar tu instancia de AriaNG y utilizarla dentro de tu NextCloud. Pero recuerda que tienes que hacer unos ajustes antes de empezar a usarlo.

AriaNG Incrustado como sitio externo en Nextcloud

Configuraciones adicionales

Ahora que esta todo listo, podemos usar AriaNG, de forma local y de forma remota y de forma local accediendo a su URL, pero todavía queda configurar el servicio de RPC.

Busca Ajustes de AriaNG

Y en la pestaña de RPC, configura con los datos que solicita.

Recuerda que si estas accediendo desde el servidor publico, debes usar tu dominio mas el puerto 443 si usas HTTPS. Recuerda agregar el token secreto RPC de Aria2 que generamos mas arriba.

Una vez que hayas configurado estas cosas, falta una cosa mas que podrías necesitar ajustar.

Si bien estas usando Aria2 en tu usuario local y puedes guardar tus descargas donde quieras, NextCloud solo puede acceder al directorio dentro de la carpeta /var/www/ así que tienes que configurar los permisos para que NextCloud pueda visitar la carpeta que quieres vigilar.

Te recomiendo unir a nginx a tu grupo de usuario y a tu directorio home lo agregues al grupo nginx. Esto le permitirá ver las carpetas que quieras compartir dentro de tu directorio home, pero es un riesgo de seguridad importante que tal vez prefieras evitar. Lo mejor es que todos los archivos que quieras compartir estén en los directorios de /var/www/ para reducir el impacto de un hipotético ataque exitoso.

Como sea. Una vez que hayas hecho esto, puedes agregar desde las configuraciones de administración, almacenamiento externo, los directorios locales que desees administrar con nextcloud. De esta manera, lo que descargues con Aria2 en la carpeta descargas, por ejemplo, puedes visualizarlo con Nextcloud en el administrador de archivos.

Conclusiones

Al final si que pude ejecutar la idea que tenia por completo. Puedo agregar descargas mediante Aria2 y administrar los archivos resultantes mediante Nextcloud. Es una pena que las aplicaciones que mas me gustaban en Nextcloud vayan muriendo, pero algo no por eso voy a tirar todo Nextcloud. Hay que improvisar.

Una cosa que me queda pendiente resolver es lo lento que funciona Nextcloud. En local, con todos los recursos a mano, funciona igual de lento, así que no se que es lo que pasa realmente. Como con WordPress vamos.

Te recomiendo que arriesgues lo menos posible para este proyecto. Es cierto que una instancia local y personal llama poco la atención, pero estarías abriendo muchas puertas por si alguien se entusiasma mucho contigo.

https://interlan.ec/blog/2026/01/23/tutorial-nextcloud-ariang/ #nextcloud #nginx #selfhosting #servidores #solucionDeProblemas #tutorial #vps #wireguard

La verdad, es medio complicado que en redes domesticas se necesite esta función, puesto que ya es bastante complicado que hayan redes cableadas, pero aprovechando que tengo una red así, me puse a intentar encender mi computadora según mis necesidades.

Introducción

Wake on Lan es una tecnología integrada en las tarjetas de red para poder encender el equipo de forma remota, mediante lo que se llama un paquete mágico. Es muy útil para administrar equipos de forma remota que se han apagado por alguna razón, pero por supuesto, tienes que dejar preparado el entorno para situaciones complicadas en las que no tengas acceso físico al equipo. Recuerda que encenderlo no es suficiente y dependiendo de la tecnología de escritorio remoto que estés usando, si al iniciar solicita credenciales, es posible que el servicio de control remoto no este inicializado.Voy a citar de la wikipedia lo que es el paquete mágico

En la literatura técnica, se denomina paquete mágico (magic packet) a una trama de difusión que contiene una cadena de 6 bytes de valor 255 («FF FF FF FF FF FF» en hexadecimal), seguida de 16 repeticiones de la dirección MAC del computador de destino. Este paquete transporta un mensaje de red especial que posee la facultad de activar el equipo al que va dirigido, bajo unas condiciones determinadas.Para encender una computadora de forma remota, se le envía un paquete mágico a la red con la dirección MAC del equipo que se quiere despertar, el paquete es reconocido por la tarjeta de red, con la dirección MAC especificada y esta responde «despertando» al equipo mediante una señal enviada a la placa base del mismo. Evidentemente, para que esta técnica funcione, tanto la tarjeta de red como la placa base de la computadora deben soportar el servicio Wake on LAN.

Hay unos cuantos detalles mas que no se suelen mencionar a la hora de configurar Wake on Lan, porque se suelen resolver de forma automática.

  • Para que Wake on Lan funcione, el equipo a despertar debe estar en la misma red que el equipo que lo quiere despertar. Esto da igual como lo consigas, puesto que puedes estar en una red con varios routers, siempre y cuando puedas llegar al equipo de destino.
  • El equipo a despertar, debe ser conocido. Esto es porque los routers tienen que crear el camino en la red. De lo contrario, es poco probable que puedas despertarlo. Esto se resuelve de forma automática apenas lo conectas a la red. Incluso algunos equipos, aun apagados, pueden configurar estas cosas.
  • Muchas veces, deberás activar la función directo en el BIOS.

Quisiera adjuntar una imagen de mi bios UEFI porque es bastante moderno, pero me da pereza buscar. así que te dejo esta foto de un BIOS clásico de un mainboard random que me encontré por ahí.

Pantalla de Bios mostrando la configuracion de wake on lan

Problema: Wake on Lan no funciona

Tal vez lleves rato mandando paquetes mágicos de todas las formas que habrás encontrado por internet, pero recuerda que primero deberías configurar esta función desde el BIOS. Busca los manuales. La mayor parte del tiempo esta configuración esta metida en algún menú del ACPI(Interfaz Avanzada de Configuración y Energía). Creo que en interfaces mas antiguas esta en la configuración de PCI puesto que las tarjetas de red se conectaban en esa interfaz.Una vez hecho esto, es probable que siga sin funcionar. Especialmente en equipos modernos. Antes de darlo por perdido, échale un ojo a la tarjeta de red. Las mas modernas suelen tener LEDs indicadores de actividad. Estas estarán encendidas aunque la computadora este apagada, porque están a la espera del paquete mágico. De hecho, es probable que si envías el paquete mágico, puedas ver las luces parpadear en ese mismo momento, indicando que este ha sido recibido.

luces led en tarjeta de red

Yo pensaba que el que no funcionara el wake on lan con la computadora apagada, era alguna especie de medida de seguridad implementada para que la gente no joda prendiendo computadoras al azar en la red (conocer la MAC no es difícil haciendo algo de sniffing), pero resulta que esto es culpa de Windows.Esto no lo he probado todavía, así que no se si funciona. Pero no tengo muchas ganas de desactivar el inicio rápido de Windows. Cito de la IA de Google:

Sí, es común que el Wake on LAN (WoL) deje de funcionar desde el estado de apagado completo en las placas base más recientesdebido a la configuración de «Inicio rápido» de Windows y otras funciones de ahorro de energía que apagan completamente el adaptador de red. Para que funcione, es necesario desactivar el «Inicio rápido» en la configuración de Windows, asegurar la configuración correcta en la BIOS y en las propiedades del adaptador de red, como habilitar la opción «Wake on LAN» o «Encendido remoto» y deshabilitar la «Suspensión profunda» si aplica.

Por supuesto, buscando por internet encuentro que en la sección de preguntas y respuestas del propio Microsoft, alguien pregunta sobre esto y le responden lo siguiente:

Algunos equipos no responden a los paquetes enviados de forma remota utilizando la característica Wake-on-LAN si el equipo tiene el inicio rápido activado. Esa sería la primera opción a comprobar.Otro motivo que puede evitar que funcione Wake-on-LAN puede estar en la BIOS. Es posible que Windows 10 haya sido actualizado y esa característica requiera ahora una actualización del firmware (para Windows 10, no para Linux aparentemente).De la misma forma, debido a las últimas actualizaciones es posible que el controlador de red (aunque parezca actualizado) no funcione 100% en Windows 10, aunque hayas instalado el último (a veces el último no es el mejor). Prueba algún controlador antiguo.

PD: esta es una respuesta del año 2019 y el enlace que recomienda, esta caído.Así que si tienes Windows 11 (como yo) es posible que puedas despertar tu equipo con normalidad desactivando el inicio rápido, y por supuesto, un hipotético troll puede estar encendiendo computadoras en red sin ningún tipo de control.

Problema: ¡Wake on lan Funciona demasiado!

Si como yo, te resignas y buscas alternativas y vas a Windows e intentas suspender/hibernar el equipo, es posible que te encuentres con que no se queda dormido.No importa que tanto lo intentes, se despierta a cada rato y te empiezas a preocupar. Buscas en foros y en todas partes y las respuestas, que si bien son correctas, no te solucionan el problema. Pero igual las voy a repasar:

  • Desconecta el Mouse/Teclado. Si, el equipo puede estar configurado para recibir señales de estos dispositivos y reactivarse.
  • Ve a administrador de dispositivos y en las configuraciones de los dispositivos, desactiva que el equipo se reactive con sus señales
  • Ve al BIOS y desactiva la función de reactivar equipo mediante Mouse/Teclado

Si al intentar todo esto no funciona, ven, te enseño la rebuscada solución que encontré.Por supuesto, es rebuscada en el sentido de que intuitivamente no la encontraría, pero en realidad es bastante sencilla. 

  • Ve de nuevo al administrador de dispositivos y busca las configuraciones de tu tarjeta de red.
  • En la pestaña de opciones avanzadas, cambia «Activar al coincidir el patrón» a desactivado.

Resulta que «Activar al coincidir el patrón» permite despertar al equipo al cumplir ciertos patrones en el trafico de red. No tengo idea de donde se configuran esos patrones, pero si se enciende tu computador sin razon aparente, es probable que cualquier trafico de red lo este prendiendo. Deshabilitalo para que no joda.Ya que estamos en esta pantalla, aprovecha para habilitar «activar desde S0ix en magic packet» que permite encender desde el moderno sistema StandBy que se ha implementado por sobre S3 (suspender).Por supuesto, también habilita activar en Magic Packet. ¿Si no, para que tanto lio hasta aqui? XD

Conclusiones

Todo es culpa de Windows, como siempre. Aunque tal vez exagero, pero es de los tipicos cambios que interrumpen cosas que funcionaban bien. No necesitas complicarte la vida. solo desactiva que mouse y teclado despierten el equipo y deshabilita que los patrones lo activen y ya queda todo listo. Si no te molesta deshabilitar el inicio rápido, podrás contar con el encendido desde el equipo apagado completamente. Mientras tanto, puedes reactivar el equipo desde suspensión/hibernación.

https://interlan.ec/2025/12/12/resolucion-de-problemas-wake-on-lan-no-funciona/

#hardware #resolucionDeProblemas #solucionDeProblemas #tutorial #wakeOnLan

Tener un dump de las bases de datos es una buena practica, pero asumamos que de las dos formas, de guardar tus bases, elegiste la mas radical.

Introducción

Un respaldo regular te permite deshacer cambios en caso de que estés trasteando en tus sitios web, con lo que puedes ir probando loo que cause algún problema. Respaldos históricos de mas largo plazo también ayudan en caso de que no sepas cuando ha ocurrido algún cambio perjudicial en tu sitio, pero por el momento, yo ya te sugerí un sistema rápido para hacer respaldos de 7 dias. En ese articulo explicaba que se podía automatizar y toda la cosa, pero el resultado era un enorme archivo de dump, conteniendo todas las bases de datos que hayan en tu servidor en un solo enorme archivo.

El problema

Si bien un archivo único permite tener un punto de restauración general para todas tus web, también significa que es un bulto inmenso que no vas a poder controlar fácilmente. Mis sitios non son muy voluminosos, así que a lo mucho el dump completo solo alcanza los 270MB. No es algo complicado de almacenar ni distribuir, pero si que es una pesadilla para los editores de texto.Al restaurar un volcado de base de datos, el interprete recorre todo el archivo indiscriminadamente, ejecutando todo lo registrado alli. Pero si solo quieres restaurar un solo archivo, probablemente esto sea «gastar pólvora en gallinazos» porque solo quieres restaurar una base de datos. Probablemente la mas pequeña incluso.No intentes abrirlo desde la consola con un editor de texto. Se colgará tu equipo. Tampoco con un editor visual. Puedes arriesgarte con un editor SQL y tendrías mas suerte, pero es muy probable que se ponga lento y sea pesado de trabajar con el. Estarás sufriendo todo el rato e incluso los cambios mas ligeros pueden ser un tormento. Y lo peor es que modificar un dump de SQL puede provocar errores bien raros que te ahorrarías solo restaurando el volcado original. Lo que necesitas es una forma de recuperar solo la base de datos especifica que quieres restaurar.

La solución

Si eres tan noob como yo y llevaste al colapso tu computador intentando infructuosamente editar un mega archivo de texto, te recomiendo en cambio, la magia del AWK.

AWK es un lenguaje de programación y una herramienta de línea de comandos utilizada para procesar archivos de texto. Permite analizar y manipular datos basándose en patrones, procesando los archivos línea por línea y dividiéndolos en campos (columnas). Es muy útil para filtrar, transformar y generar informes a partir de datos estructurados. El nombre proviene de las iniciales de sus creadores: Alfred Aho, Peter Weinberger y Brian Kernighan.

Puedes usar AWK directo desde la consola, pero es mejor que guardes un script que tenga una logica que buscas de forma congruente. Te sugiero para eso, este script que mediante AWK separa un Dump total en diferentes archivos sql de cada una de las bases contenidas, asumiendo como separador «– Current Database».Cuando encuentra una de estas líneas, extrae el nombre de la base de datos (dbname). Abre un nuevo archivo llamado nombre_de_la_bd.sql en el directorio especificado. Todas las líneas siguientes se escriben en ese nuevo archivo hasta que se encuentra la línea de cabecera de la próxima base de datos. Finalmente, tendrás un archivo SQL para cada base de datos en tu directorio de salida.Para ejecutar este código, debes invocarlo de la siguiente manera:./split_mysqldump.sh archivo_dump_maestro.sql directorio_salida🖕Recuerda que el nombre del archivo queda a tu criterio. En mi caso le puse split_mysqldump para sonar genial XD

1 2 3 4 5 6 7 8 9101112131415161718192021222324252627282930313233343536373839404142434445#!/bin/bash# Script revisado para dividir un dump de multiples bases de datos en archivos individuales.# Uso: ./split_mysqldump_v2.sh <archivo_dump_maestro.sql> <directorio_salida>DUMP_FILE=$1OUTPUT_DIR=$2if [ -z "$DUMP_FILE" ] || [ -z "$OUTPUT_DIR" ]; then echo "Uso: $0 <archivo_dump_maestro.sql> <directorio_salida>" exit 1fi# Crear el directorio de salida si no existemkdir -p "$OUTPUT_DIR"echo "Directorio de salida: $OUTPUT_DIR"# Usar awk para procesar el archivo y redirigir a archivos individualesawk -v out_dir="$OUTPUT_DIR" ' /^-- Current Database: `[^`]+`/ { # Extraer el nombre de la base de datos match($0, /`[^`]+`/); dbname = substr($0, RSTART+1, RLENGTH-2); # Construir el nombre del archivo de salida output_file = out_dir "/" dbname ".sql"; # Imprimir mensaje de depuración en stderr (consola) print "-> Iniciando volcado para BD: " dbname " en " output_file > "/dev/stderr"; # Cerrar el archivo anterior si existe (para evitar problemas) if (current_file && current_file != output_file) { close(current_file); } current_file = output_file; } { # Escribir la línea actual en el archivo de la BD actual if (current_file) { print $0 >> current_file; } }' "$DUMP_FILE"echo "Proceso completado. Archivos individuales creados en: $OUTPUT_DIR"

Una vez que hayas conseguido tus archivos, usa tu comando para poder restaurar la base de datos que necesitas.mysql -u [usuario] -p < nombre_de_tu_bd.sql🖕Usa mariadb en lugar de mysql si así tienes instalado.

Explicación

No te recomiendo agarrar y ejecutar códigos encontrados por internet. tampoco el mio, pero te ayudare a entender lo que estas ejecutando al menos, asi, puedes intentar construir uno propio. Pero al menos por experiencia propia, este código me funcionó a mi XD 

awk -v out_dir=OUTPUT_DIR ...1. Inicialización y Variables de Entrada: El comando se ejecuta con awk. La opción -v out_dir=OUTPUT_DIR pasa una variable externa llamada OUTPUT_DIR (que debe ser reemplazada por la ruta real del directorio de salida al ejecutar el comando) a la variable interna de awk out_dir.Current Database2. Patrón de Búsqueda: awk procesa el archivo de entrada línea por línea. Este fragmento de texto (Current Database) actúa como un patrón. Cuando una línea del archivo de entrada coincide con este patrón (es decir, la línea contiene "Current Database"), se ejecutan las acciones dentro del bloque.match($0, /dbname/)3. Extracción del Nombre de la BD: Dentro del bloque de acción, match($0, /dbname/) busca la palabra «dbname» en la línea actual ($0). Esta función es parte del código de ejemplo que describes, aunque la lógica completa para extraer el nombre real de la BD de la línea suele ser más compleja (ej. usando expresiones regulares). Asumiendo que la línea contiene el nombre de la BD, la siguiente parte se encarga de aislarlo.dbname = substr($0, RSTART, RLENGTH)4. Almacenamiento del Nombre: Utiliza la función substr para extraer el nombre real de la base de datos de la línea actual. RSTART y RLENGTH son variables especiales de awk que se establecen automáticamente por la función match y marcan el inicio y la longitud de la coincidencia encontrada.output_file = out_dir "/" dbname ".sql"5. Construcción del Nombre del Archivo: Se construye la ruta completa del archivo de salida combinando el directorio de salida (out_dir), el nombre de la base de datos (dbname) y la extensión .sql.print "Iniciando volcado para BD: " dbname " en " output_file > "/dev/stderr";6. Salida por pantalla: Muestra el resultado del script en la consola mediante el /dev/stderrif (current_file && current_file != output_file) close(current_file)7. Cierre del Archivo Anterior: Si ya se estaba escribiendo en un archivo anterior (current_file existe) y este es diferente al nuevo output_file, se cierra el archivo anterior para evitar problemas de escritura simultánea o corrupción de datos.current_file = output_file8. Actualización del Archivo Actual: La variable current_file se actualiza para apuntar al nuevo archivo de salida que se acaba de determinar.if (current_file) print $0 >> current_file9. Escritura de la Línea: Finalmente, si existe un archivo actual definido, la línea completa que se está procesando ($0) se escribe (con >>, que significa añadir al final o crear si no existe) en el current_file.

Conclusión

Si usas Windows e intentas modificar el archivo dump sin cuidado, te encontraras con errores molestos de caracteres. esto es porque tienes que controlar la codificación de caracteres original y en windows se suele cambiar a la codificación que se usa alli. Puedes utilizar Notepad++ pues te dice la codificación y permite cambiar entre ellas, pero de todas formas puedes desbordar la memoria con un archivo de mas de 10mb, así que lo mejor es utilizar un script que separe las bases de datos o directamente exportar en bases individuales.

https://interlan.ec/2025/11/28/articulo-segmentar-dump-de-mysql/

#articulo #code2 #linux #mariadb #mysql #selfhosting #servidores #solucionDeProblemas #vps

El tutorial de hoy es sencillo y se puede realizar con unos cuantos comandos. Claro, si estas usando una GUI para MySQL no lo necesitarás, pero bueh, es otra cosa que es bueno aprender

Introducción

Esta es una tarea súper puntual que surgió por la necesidad de reparar una tabla que no conozco, pero que el script de respaldo avisa que tiene un error.

mariadb-dump: Error 1034: Index for table 'apcontact' is corrupt; try to repair it when dumping table `apcontact` at row: 115191

Como me lo tomé a la ligera, busqué en google para saber que hace esta tabla. Después de todo, los problemas con tablas y plugins son tan comunes que puedes buscar por el nombre de la tabla y google siempre tiene una respuesta, pero esta vez, el nombre es tan genérico que simplemente no hubo resultado.

Solucion

En realidad es muy sencillo, pero lo citaré desde donde encontré la solución que es una pagina de una empresa que ofrece servicios para bases de datos.

1234567select table_schema as database_name, table_namefrom information_schema.tableswhere table_type = 'BASE TABLE' and table_schema not in ('information_schema','mysql', 'performance_schema','sys')order by database_name, table_name;

La consulta, que se realiza como administrador desde la consola o tu GUI preferida, es bastante sencilla. Busca de la tabla table_schema, a la cual le pone un alias database_name y de la tabla table_name desde la base de datos information_schema, la cual contiene la estructura del sistema de base de datos de MySQL.

Busca en la columna table_type cualquier fila que contenga el texto BASE TABLE y de la columna table_schema ignora ‘information_schema‘,’mysql‘, ‘performance_schema‘,’sys‘ terminando con ordenar por la columna database_name.

Esta consulta devuelve la lista de columnas que tienen todas las bases de datos en el servidor MySQL, con lo que rápidamente puedes echarle un ojo a la columna desconocida para saber a que base de datos corresponde. En mi caso, es una columna de una base de datos que ya no utilizo, pero que conservaré para la siguiente parte del tutorial.

Extra: Reparar tabla apcontact

Ya teniendo localizada la tabla, de inmediato cambio a la base de datos que la contiene con USE nombre_base;y procedemos a seguir los pasos como ya hicimos en el articulo tabla wpcomment corrupted

Resolución de problemas: Reparar Tabla wp_comment corrupted

  • Ejecuta el cliente mysql (o mariadb). mysql -u your_wordpress_user -p
  • Cambia a la base de datos de tu instancia de wordpress. use your_wordpress_database
  • Ejecuta el comando repair table wp_comments

Por supuesto, puede darse el caso de que te salga un error como este:

12345+---------------------------+--------+----------+---------------------------------------------------------+| Table                     | Op     | Msg_type | Msg_text                                                |+---------------------------+--------+----------+---------------------------------------------------------+| db_interlan.apcontact     | repair | note     | The storage engine for the table doesn't support repair |+---------------------------+--------+----------+---------------------------------------------------------+

Debido a que esto es un cambio estructural, te recomiendo hacer un respaldo antes de cualquier cambio que vayas a hacer.

Encontré que la mayor parte de las soluciones implican restaurar desde un respaldo. Estoy de acuerdo con eso, pero vamos a experimentar a ver que pasa. Vamos a suicidar mi base de datos a ver si conseguimos que funcione, pero puedes revisar las fuentes de mi articulo para que tengas una vista mas lucida que la mía.

1ALTER TABLE tbl_name ENGINE=MyISAM;

Por supuesto, dio error.

ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint fails

La razón de esto es porque el comando ALTER TABLE dispara los trigger de update y hay filas que estarán relacionadas con otras tablas, asi que esto puede causar errores de constraint. Por esta razón se suele sugerir que se restaure desde un respaldo.

Ahora como tampoco me preocupa el contenido de esa base de datos, elegiremos la opción nuclear.

1SET Database_name = 'yourdb'; SELECT CONCAT('ALTER TABLE ',TABLE_NAME,' ENGINE=MyISAM;') As sql_statements FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'yourdb' AND ENGINE='InnoDB' AND TABLE_TYPE='BASE TABLE';

Lo que hace esto es simplemente alterar el engine de almacenamiento de toda la base de datos, con lo que no le darás tiempo a dar un contrain error, resolviendo el problema de no poder repararla. Pero ah, todavía queda reparar la tabla rota, así que intentamos de nuevo con el comando repair.

12345+---------------------------+--------+----------+---------------------------------------------------------+| Table                     | Op     | Msg_type | Msg_text                                                |+---------------------------+--------+----------+---------------------------------------------------------+| db_interlan.apcontact     | repair | note     | The storage engine for the table doesn't support repair |+---------------------------+--------+----------+---------------------------------------------------------+

Nah, no se pudo. Mandale un respaldo desde un dump anterior jajaja.

Yo solo eliminaré la base de datos. Mi consejo será el mismo de siempre. Manten respaldos regulares y siempre mira los logs por si hay algún error por ahi que quiera agarrarte por sorpresa.

1DROP DATABASE db_interlan;

Conclusiones

Las tablas corruptas se dan frecuentemente por fallos en la energía, el clasico «Sacrifiquen a los niños» y muchas razones. Reparar no es una opción muy viable, teniendo en cuenta la alta probabilidad de que no funcione. Puedes intentarlo, pero como te diste cuenta, tal vez salga mejor que restaures desde un respaldo. He hecho un script que sirve para hacerlos y de paso me manda un correo electrónico indicándome los resultados, con lo que pude ver el error. Si trabajas en esto de forma seria, no intentes reparar. sin duda alguna restaura desde un respaldo y mantelos regularmente. Si no, juega como yo y mira que sale si intentas reparar XD.

https://interlan.ec/2025/11/07/tutorial-buscar-columna-en-todas-las-bases-de-datos/

#devops #mysql #resolucionDeProblemas #selfhosting #servidores #solucionDeProblemas #vps

El coloreado de sintaxis de código en WordPress parece una cosa intuitiva, pero no es cierto. Si quieres compartir código, hay varias formas de hacerlo, pero de forma nativa, solo tienes las etiquetas <pre></pre> y <code></code> que cambian de acuerdo a las configuraciones de tu plantilla, pero definitivamente no colorean el código.

Introducción

La verdad, tampoco es que sea tan necesario. Para compartir fragmentos de código, existen herramientas como pastebin y otras, mientras que para compartir proyectos de programación completos puedes usar GitHub, Codeberg y otros por el estilo. La cosa es que si quieres compartir solo unas cuantas lineas en un tutorial, consejo o sugerencia, pues vendria bien algo de ayuda.

Se me hace muy curioso como funciona esto. La mayoría de los renderizadores de MarkDown ya cuentan con coloreado de código. Esto es una función que se puede ver hasta en plataformas de chat, como Telegram, Matrix, Discord. Creo que whatsapp no tiene eso y por ahora, Delta Chat tampoco lo tiene.

Por ejemplo:

```js
console.log('Hello world!');

```

En WordPress, no hay un interprete MarkDown nativo y el que agrega jetpack se me hace muy confuso de usar. En mi post sobre el juego de la vida que escribí por completo en MarkDown, se hizo tan lioso que no lo he corregido como corresponde.

Resaltado de código en WordPress

La mayoría de los generadores de blog estáticos que usan Markdown para la generación de contenidos, ya tienen un resaltador de código integrado. Tomo por ejemplo a Astro, una herramienta que llevo rato buscando una excusa para aprender. En la documentacion ya indica que tiene soporte mediante prism.js, por lo que podríamos decir que el renderizado se realiza desde el frontend. Esto es lo optimo y lo ideal teniendo en cuenta de que es un sistema frontend, pero WordPress es principalmente backend, por lo que lo obvio y necesario seria que se pueda usar un sistema que sirva el resultado ya procesado. Mientras mas plugins y javascript, mas pesado se pone el sitio y para la capacidad de atención que tiene la gente en esta generación, es un riesgo innecesario para correr. Es interesante notar que no es un problema que me afecte solo a mi, pues, en el 2024, el blog Picando Codigo compartía sus experiencias en este tema, mientras que backendpreneur en quien sabe que fecha(no comparte la fecha de publicación de sus posts), hacia lo propio por su parte.

Herramientas que se quedan obsoletas

Por mucho tiempo, yo usaba Highlighting Code Block para resaltado de mi código, pero hace unos días noté que ya no funcionaba. Pensé que era porque estaba usando el editor clásico, puesto que el editor de bloques tiene muchas mas opciones de configuración, pero parece que no es el caso. El plugin lleva sin atención desde hace 2 años. No es demasiado problema, pero posiblemente este fallando de forma interna, puesto que no solo esta desactualizado con respecto a mi versión de WordPress, sino que también lo esta con respecto a mi version de PHP.

Highlighting Code Block

 

Entonces, la solución mas rápida seria, instalar otro plugin. Pero para no romper el resto de los post ya publicados con el anterior, no puedo desinstalarlo…

WordPress y en realidad cualquier plataforma longeva, tiene el problema de que puede crecer pero no arrastrar su ecosistema consigo. En el repo de plugins de WordPress hay una cantidad inmensa de muertos, y cada uno representa un agujero de seguridad importante, por lo que es necesario tener todo actualizado para no ser victima de ataques por vulnerabilidades.

Soluciones

La verdad, parece que las que hay, no son muy satisfactorias. Como comenta el editor de Picando Código aun si encuentra una solución, le toca editar todos los post donde se haya usado el plugin. En mi caso, así mismo va a ser, tendré que buscar todos los post donde use hcb y reemplazar por mi solución particular. 

Por ahora, las propuestas son:

  • Utilizar otro plugin (no me gusta, si muere, se repite el proceso)
  • Utilizar algo de JS con highlight.js prism.js o similares (no me gusta, aumento de peso de la pagina)
  • Utilizar HTML directo (la mejor opción en resultado, pero no en practicidad)

Al final, es verdad, soy dev, puedo usar esta opción. Escribir el resaltado de forma directa, pero es mucho esfuerzo, así que por ahora, elijo utilizar una herramienta que encontré para resaltado por HTML llamada hilite.me y luego veré como ajustar para que sea mas fácil de usar.

La ventaja de esto es que permitirá tener resultados uniformes sin importar de cuanto cambie la infraestructura, aunque no estoy muy seguro de la compatibilidad con los temas del sitio.

1print('hello world!')

Actualización

La verdad, creo que me ahorrare el esfuerzo de buscar que cosas han sido afectadas por el borrado del plugin, porque hasta donde vi, se ve bastante decente. Creo que solo agregare las nuevas ideas a post en adelante.

https://interlan.ec/2025/10/24/articulo-resaltado-de-sintaxis-de-codigo-en-wordpress/

#articulo #Blog #desarrolloWeb #DIY #javascript #plugins #programacion #recursos #resolucionDeProblemas #seguridad #solucionDeProblemas #wordpress

Este es de los problemas que te encontrarías solo por hacer las cosas de forma manual, no tendrás que prestarle mucha atención con un sistema completo como Mailú, del que ya hablé alguna vez.

Introducción

Bueno, si te interesa este tema, es probable que contarte sobre los correos, su historia y sus usos te resulte repetitivo, así que me centraré en este problema. Hay muchísimas políticas destinadas para el control de Spam y phishing, así que administrar un servidor de correo electrónico se ha vuelto monstruosamente complicado. DKIM, SPF y otras cosas de las que hemos hablado, son medidas de seguridad para autenticar el origen de los correos, debido a que la naturaleza federada de estos, permite que cualquier persona pueda desplegar uno propio sin limitaciones y por supuesto, enviar masivas cantidades de correos.

Los problemas

1234Oct 17 09:21:40 debian postfix/smtpd[1643]: NOQUEUE: reject: RCPT fromunknown[x.x.x.x]: 553 5.7.1 <[email protected]>: Sender address rejected:not owned by user [email protected]; from=<[email protected]>to=<[email protected]> proto=ESMTP helo=<[192.168.1.1]>

La enorme versatilidad de postfix permite configurar hasta detalles que parecen ridículos, pero en este caso, el error Error Sender address rejected: not owned by user postfix está causado por la falta de una configuración. Esta permite  al sistema validar las las propias cuentas creadas para controlar a quien pueden escribirle. Por supuesto, también si se puede escribir a cuentas internas o externas.

La solución

Tampoco es que sea una tarea titánica. Por supuesto, si no tienes idea de donde tocar, no sabrías como arreglarlo. No es nada intuitivo y sin panel de control, interfaz web y otras cosas, pues solo queda recurrir a internet para encontrar alguien que haya tenido el mismo problema y alguien lo haya ayudado a resolverlo.

Lo primero, tienes que haber creado una cuenta de usuario. Por supuesto, tienes que haber seguido los pasos para crear un postmap virtual.

En el directorio /etc/postfix/virtual agrega la nueva cuenta  que has creado en tu sistema.

Un vez todo configurado, debes hacer un postmap /etc/postfix/virtual para actualizar la base de datos virtuales.

Recuerda tener el archivo virtual en formato dirección de correo / nombre de usuario

[email protected] [email protected]@ejemplo.com [email protected]@ejemplo.com [email protected]

Conclusiones

Esta solución la encontré en una respuesta de hace 10 años en serverfault a una pregunta similar al problema que tenia. Esto resuelve el problema de que es imposible enviar correos a servidores externos (gmail por ejemplo) pero si que permite enviarlos de forma local a otros usuarios del servidor propio. En principio no hay ningún problema visible desde el cliente de correo puesto que el correo se enviar sin generar error y no hay mensaje de rebote. Por supuesto, esto no pasaria en un entorno ya configurado con docker como Mailu o directamente usar paneles de control tipo CPanel, AAPanel y cosas similares (No tienes que sufrir todo esto y menos si lo haces por trabajo)

https://interlan.ec/2025/10/17/error-sender-address-rejected-not-owned-by-user-postfix/

#correoElectrónico #DIY #email #gmail #linux #postfix #resolucionDeProblemas #seguridad #selfhosting #servidores #solucionDeProblemas #troubleshoting #tutorial #vps

Abrí mi blog y me encontré un aterrador error que decía: wp_comment corrupted. Exactamente así le pasó al creador del tutorial mas corto y directo que me sirvió para resolver el problema.

Introducción

Esto no es un problema con el que te puedas encontrar fácilmente, pero dada mis situaciones con mis recursos limitados, era obvio que iba a aparecer algún día. Por supuesto, no sabia que este error precisamente era el que vendría, pero si se andan cayendo los servicios por el oom Killer, algo malo iba a pasar.

Hay muchas razones por las que se corrompen las tablas de MySQL. Entre ellas, están fallos físicos, (corrupción de memoria, fallos de energía, sectores dañados), fallos de causas humanas (cierres incorrectos del servidor) o fallos de software (fallos de sistema operativo, fallos en el mismo MySQL o el uso de herramientas de terceros para acceder y modificar los datos). Por supuesto, el malware es una importante causa de fallos de este tipo.

Solución

No le voy a dar mas vueltas por si llegaste buscando la solución. El autor original no lo hizo…¡en el 23 septiembre del 2008! (17 años hasta la publicación de este post).

  • Ejecuta el cliente mysql (o mariadb). mysql -u your_wordpress_user -p
  • Cambia a la base de datos de tu instancia de wordpress. use your_wordpress_database
  • Ejecuta el comando repair table wp_comments

¿Como funciona el comando Repair?

Una tabla de MySQL se repara mediante un análisis que identifica y corrige inconsistencias o bloques corruptos en los datos, utilizando herramientas como el comando REPAIR TABLE o utilidades como mysqlcheck o herramientas de terceros, que reescriben los archivos de la tabla para restaurar su integridad y funcionamiento. El proceso implica detectar los errores, reconstruir la estructura y, finalmente, restaurar la tabla a un estado funcional. Recuerda que a veces puedes perder datos en el proceso de recuperación. Ten en cuenta que esto puede causar graves conflictos pues MySQL/MariaDB es una base de datos relacional. Recuperar la tabla no significa necesariamente que pueda volver a funcionar como antes. Es mas una operación de rescate y deberás tener en cuenta lo que necesitas hacer con este rescate.

Una vez identificados los problemas, la tabla se reconstruye. Este proceso puede incluir:

  • Eliminar datos corruptos: Si los datos están irrecuperables, pueden ser descartados para permitir que el resto de la tabla se reconstruya.
  • Reescribir los archivos de la tabla: El sistema genera nuevos archivos de tabla que contienen una versión corregida de la información, reparando la estructura y la integridad.
  • Puedes utilizar estas dos herramientas nativas para la reparación y verificación:

    • REPAIR TABLE nombre_tabla;: Este comando es la forma nativa de reparar una tabla dañada en MySQL.
    • CHECK TABLE nombre_tabla;: Se usa para verificar si una tabla tiene errores.

    Por supuesto, puedes usar otras herramientas como phpMyAdmin, que da la opción de reparar la tabla desde una interfaz web o los paneles de control de hosting (cpanel, Plesk, etc.) que ofrecen versiones simplificadas de este proceso.

    Conclusiones

    No le des mas vueltas. Probablemente estés usando este comando porque no tenias un respaldo a mano. O simplemente querías probar el comando por si podías ahorrarte algo de trabajo. Mi único consejo es que siempre tengas a mano el respaldo de tus bases de datos para evitar sustos innecesarios. Para cosas pequeñas puedes usar soluciones básicas, pero para cosas mas profesionales, tal vez y lo mejor sea que pienses en algo mas completo.

     

    https://interlan.ec/2025/10/10/tabla-wpcomment-corrupted/

    #Blog #DIY #mysql #plugins #resolucionDeProblemas #selfhosting #solucionDeProblemas