Blog de Daniel Zegarra Rotating Header Image

mayo, 2009:

InnoDB deshabilitado a pesar que skip-innodb esta comentado

Es un problema poco usual pero que me ha pasado a mi. InnoDB aparece como deshabilitado y has comprobado que skip-innodb sigue comentado en /etc/mysql/my.cnf. Entonces, ¿que diablos sucede?

Pues al parecer el problema surge al momento de instatar mysql-server (sudo apt-get install mysql-server usando ubuntu) que al crear los archivos ibdata# e ib_logfile# estos se crean con los permisos erroneos. Lo mas intrigante es que mysql no informa de este problema al iniciarse.

Entonces, el problema se resuelve asi:

Primero, debes detener mysql y lo haces con el siguiente comando:

sudo service mysql stop

Luego, dirigete al siguiente directorio:

cd /var/lib/mysql

Ejecuta ls para ver los archivos del directorio:

Resultado de ls en /var/lib/mysql/

Resultado de ls en /var/lib/mysql/

Ahora saca una copia de los archivos ibdata# e ib_logfile#. El signo # es porque pueden haber mas de uno. La copia la realizas de la siguiente forma:

//cp _archivo_original archivo_copia
cp ibdata0 ibdata0.bak
cp ib_logfile0 ib_logfile0.bak

Luego borra los archivos ibdata# e ib_logfile# originales. Lo haces de esta manera:

//rm _archivo1 archivo2 archivo3
rm ibdata0 ibdata1 ibdata2 ib_logfile0 ib_logfile1 ib_logfile2

Ahora arrancas mysql:

sudo service mysql start

Puedes verificar que InnoDB esta activado desde phpMyAdmin o conectandote a MySQL desde la terminar:

mysql -u root -h localhost -p
password: *********
show engines;

Esta es una extensión a la explicación del siguiente post How To Fix: InnoDB has been disabled for this MySQL server.

Instalando un Server (con Ubuntu)

Estuve probando el nuevo servidor de Ubuntu y luego de horas de estar jugando con los comandos entre a la misma web de donde lo descargue para chequear si existia una guia rapida para instalar servidor. Hay me enamoro, porque a pesar de que la version 9.04 tiene unos días su documentación básica ya esta completa (pues tampoco es que hayan cambios radicales pero aún asi se agradece).

Puedes encontrar aquí en la documentación oficial (en ingles) y aquí la documentación de la comunidad (tambien en inglés) y en este post la documentación hecha por mi.

Antes de empezar

Instalar Linux es una experiencia diferente (si te has instalado Windows desde que andaba por la versión del 95). Lo primero que te parecera sumamente raro es la forma de trabajar con particiones. Linux no usa FAT o NTFS (aunque si podria pero no es recomendable). Linux tiene un numero mayor de formatos que no voy a enumerar ahora, lo que necesitas saber es que el EXT3 es el estandar (pero puedes optar por EXT4 ya que tiene mejoras sobre su predecesor) y que  SWAP es un tipo de particion que sirve solo como memoria virtual (en caso se te acabe la RAM). La interfaz gráfica es una aplicación mas en Linux, no es en si parte importante del sistema. La verdad, si quieres un servidor es mejor evitar usarla. Tendras que acostumbrarte a escribir y memorizar comandos. No te preocupes, no es nada complicado. En este tutorial y en los siguientes que traten sobre el tema solo se usaran unos pocos.

Para este tutorial instalaré mi servidor en una maquina virtual usando VirtualBox. Para ello es necesario decirle a tarjeta de red virtual que haga un puente con nuestra tarjeta de red real, asi nuestra maquina virtual tendra contacto directo a nuestra red local (y podrá servir a otros equipos de nuestra red).

Para poder instalar Ubuntu es necesario que el BIOS arranque primero de la lectora de CD antes que del disco duro. Eso lo puedes configurar en el Setup (presionando la tecla requerida para esto (la tecla Supr suele funcionar en PCs genericas) durante el arranque de tu PC (los primeros segundos de encendido).

Y claro, el disco de instalación de Ubuntu Server que lo puedes conseguir en en siguiente enlace: http://www.ubuntu.com/getubuntu/download-server

Creo que eso es todo. Empecemos.

Empieza la diversión

Colocamos el CD de Ubuntu Server en la lectora de CD y reiniciamos la PC. Si tuviste exito en configurar la BIOS para que lea la lectora de CD antes de el disco duro, veras la siguiente imagen. Bueno, no. Primero eliges tu idioma (con el teclado) y luego veras esto.

Pantalla de booteo de Ubuntu Server 9.04

Pantalla de booteo de Ubuntu Server 9.04

Si tienes dudas sobre la salud de tu memoria RAM o disco de instalación puedes testearlas con las herramientas que vienen en el CD. Es importante que tu hardware este en buenas condiciones antes de empezar la instalación, de lo contrario es posible que te topes con problemas extraños y nunca termines la instalación. Si tu PC es nueva entonces puedes saltar esto y elegir Instalar Ubuntu Server.

Eleccion del idioma

Elección del idioma

Esto es lo primero que te preguntara el programa de instalación: El idioma. Solo basta con elegir tu pais en la lista. Si no lo encuentras, elige uno con quien tengas mas semejanza o al menos que hablen el mismo idioma. Presiona la tecla ENTER para seleccionar.

Detectar la distribucion del teclado. NO.

Detectar la distribucion del teclado. NO!

Lo siguiente es la detección del teclado. Yo siempre elijo que no. Me arrepenti la primera vez porque nunca encontre la distribución de signos precisa para mi teclado y lo unico que gane fue perder tiempo.

Origen del Teclado

Origen del Teclado

Lo dejo por defecto y me dirijo a la siguiente pantalla. (Presiona ENTER)

Sigue con lo del teclado :S

Sigue con lo del teclado :S

Ubuntu se esmera con lo de las teclas. En mi caso elijo lo que me recomienda para pasar a la siguiente pantalla.

Nombre del computador en la red

Nombre del computador en la red

Esto es importante. Elige el nombre con el que tu servidor se identificará en la red (porque estará en una red no? sino para que verdad?). Evita usar caracteres especiales. Que el nombre sea corto y entendible.

Creando las particiónes

Llegamos a la parte de las particiones. Yo estoy suponiendo que el disco duro se encuentra vacio, sin particiones previamente creadas. Si las hubieran no importa, puedes eliminarlas usando este asistente pero no describo como hacerlo en este tutorial. Espero lo intuyas tu mismo, no te preocupes por dañar algo. La tabla de particiones no se guardará hasta que empiece la instalación.

Eligiendo como particionar el disco duro

Eligiendo como particionar el disco duro

Elegimos Manual como el metodo de particionado.

Tabla de particiones actual

Tabla de particiones actual

Estas son las particiones que tengo en mi nuevo disco: Ninguna.

Bajo hasta elegir mi disco vacio y presiono ENTER.

Empezando a particionar

Empezando a particionar

Me informa que me dispongo ha crear una nueva tabla de particiones sobre mi disco duro. Porsupuesto, elijo que SI.

Eligiendo donde crear la primera partición (/boot)

Eligiendo donde crear la primera partición (/boot)

Entonces, tengo mi nueva tabla de particiones VACIA. Vamos ha crear 3 particiones en este nuevo disco. La primera tendra un tamaño pequeño y servirá para arrancar Ubuntu. Esto es importante porque nos permitirá arrancar el sistema operativo incluso en el improbable caso de que nuestro disco duro se llene totalmente y queramos entrar para borrar cosas. La segunda sera nuestra particion SWAP. Las antiguas buenas practicas recomiendaban que su tamaño seal el doble que la memoria RAM instalada. Pero con el tamaño de las RAM de ahora con tal que la suma de la RAM real y la virtual llegue a 4Gb esta bien (si es que tu servidor será usando en una red privada). Y por último,  la tercera partición servira para albergar los archivos.

Bajo hasta ESPACIO LIBRE y presiono ENTER para crear una partición ahi.

Creando la primera partición (/boot)

Creando la primera partición (/boot)

Eligiendo el tamaño de la 1ra partición (/boot)

Eligiendo el tamaño de la 1ra partición (/boot)

Con 100Mb será suficiente para los archivos de arranque de Linux. Puedes escribir “100MB”.

Tipo de la nueva partición

Tipo de la nueva partición

Inicio de la nueva partición

Inicio de la nueva partición

Configurando la 1ra particion para que sea montada como /boot

Configurando la 1ra particion para que sea montada como /boot

Una vez que creamos la primera particion hay que decirle en donde Linux debe montarla. Vamos hasta el Punto de Montaje y en la lista de opciones buscamos y elegimos /boot.

Configurando la 1ra particion para que sea booteable

Configurando la 1ra particion para que sea booteable

Luego bajamos hasta Marca de arranque y presionamos ENTER para definir esta particion como la partición de arranque, la que La BIOS usara para empezar la carga del sistema operativo.

Una vez activada bajamos mas hasta la opción Se ha terminado de definir la partición y presionamos ENTER para volver a la tabla de particiónes. Una vez alli veremos que ya aparece nuestra primera partición. Volvemos alegir el ESPACIO LIBRE y presionamos ENTER para crear otra nueva partición ahi.

Creando la segunda partición (swap)

Creando la segunda partición (swap)

Para el tamaño de esta nueva partición puede poner lo que sea. El tamaño que elijas va a depender del uso y la cantidad de usuarios que servirá esta PC. Si solo tu haras uso de ella puedes usar un valor que sumado a tu RAM actual de 1Gb (1024Mb).

Configurando la segunda partición (swap)

Configurando la segunda partición (swap)

Ahora hay que especificar que esta nueva partición se usara como memoria virtual. Para ello vamos hasta Utilizar como y en la lista de opciones elegimos Area de intercambio (tambien llamada Memoria Virtual). Hecho esto terminamos de definir la partición y volvemos a la tabla de particiónes donde ahora deben aparecer nuestras dos particiónes.

Terminada nuestra tabla de particiónes

Terminada nuestra tabla de particiónes

Siguiendo los pasos para crear la primera y segunda partición, crea una tercera usando todo el espacio disponible restante. Luego, guarda la partición y volveras nuevamente a la tabla de particiónes. Tu tabla de particiones debe parecerse a esto. Si es asi elige la opción marcada con rojo en el último gráfico para ir a la siguiente pantalla.

Creando cuentas

Te pide tu nombre. Especificamente, el nombre de la persona que administrará el servidor.

Nombre del propietario

Nombre del propietario

El usuario administrador. Ubuntu tiene la costumbre de deshabilitar el usuario root con el fin de evitar dañar partes sensibles del sistema. Eso esta bien, es muy util para principiantes. En la siguiente pantalla te pide el nombre de usuario que tendra acceso al sistema.

Creando el usuario de trabajo

Creando el usuario de trabajo

Una vez creado el usuario y haberle asignado su respectiva contraseña, el programa de instalación nos pide definir la politica de actualización de software. Como este será un servidor y no una maquina corriente, que se puede apagar en cualquier momento sin molestar a nadie, le diremos que no instale las actualizaciones automaticamente.

Usar actualizaciónes manuales

Usar actualizaciónes manuales

Eligiendo el proposito de nuestro servidor

Uno de los últimos pasos es el de elegir algunos servicios que nuestro servidor estara preparado para servir apenas la instalación finalice. Nos puede ahorrar unos minutos al instalarlos del disco de instalación pero lo recomendable es instalarlos de la internet. De esta forma nos aseguramos que se instale la última distribución disponible.

Instalando el servidor SSH

Instalando el servidor SSH

Ignoramos todos y solo elegimos el OpenSSH Server para poder configurar nuestro servidor desde cualquier punto de la red. No te preocupes si no eliges algo. En posteriores posts explicaré como instalar los mas comunes entre ellos. Por cierto, se marcan con la barra espaciadora y con ENTER pasas a la siguiente pantalla.

Instalación completada. Primer inicio.

Instalación completada. Primer inicio.

Una vez copiados los archivos necesarios el programa de instalación deberá reiniciar y arrancar Ubuntu por primera vez desde el disco duro.Ya puedes retirar el CD de instalación de la lectora.

El servidor por primera vez arranca por cuenta propia.

El servidor arranca por primera vez

Asi se verá tu pantalla una vez terminada la instalación. puedes logearte con el nombre de usuario y contraseña que elegiste.

Esto es todo por ahora. Luego explicaré como instalar servicios para hacer util nuestro servidor. Mientras tanto, puedes ir guiandote de la documentación oficial (en ingles) donde te explica las pautas básicas para instalar servicios comunes como bases de datos, servidores web o correo, proxy, de archivos, etc.

Aviso: Hosting de este sitio en mantenimiento

Esta página ha tenido problemas últimamente. Esta muy lenta y a veces el servidor deja de responder.

Me queje con mi proveedor de hosting y se disculpo cordialmente a la vez que me informaba como iban a solucionar el problema en tiempo récord: 10 días. No se, a mi eso no me parece un récord. Al parecer el computador donde este sitio esta alojado esta saturado y tienen que mudar una porción de cuentas a otro para desaturarlo.

Yo sigo confiando en Dreamhost pero ya un poco menos. Me desilusione un poquito. Espero hagan algo para recuperar mi confianza y seguir recomendandolos (y no solo por las recompenzas, que por cierto aún no recibo ni un dólar).

Correccion: Dreamhost me cambio de servidor y el problema se soluciono. Me di cuenta que mi plan me da dominios ilimitados, por lo tanto, puedo compartir mi hosting con varios sitios web (como un pequeno reseller). Y en cada dominio que compre, Dreamhost me da gratis el Google Pack. Lo de la recompenza pendiente que no me depositaban, era un problema de mi cuenta PayPal que ya solucione. Disculpas a Dreamhost por el post hiriente.

Transcodificando a mp4 (H.264+AAC)

Yo colecciono series y usualmente no tiempo de verlo en casa así que las paso a mi ipod para verlas mientras viajo. Fue cuando ahi cuando empece a investigar acerca de la transcodificación.

Transcodificar quiere decir, codificar algo codificado en un formato a otro. Es como traducir de alemán al hebreo. Pero en este caso lo que se hace es decodificar un video y el resultado volverlo a codificar en otro formato.

El mejor software para hacer esto (según mi opinion) es MediaCoder debido a que es libre y me da la posibilidad de modificar muchas variables. Lamentablemente solo esta diseñado para correr sore Windows pero puedes usarlo sobre Linux usando Wine.

Y el mejor formato para codificar un vídeo, bueno, eso depende de que uso le vayamos a dar. Si lo que deseas es usarlo en tu ipod/reproductor mp3/telefono móvil (3G) o publicarlo en internet la mejor elección sería hacerlo en mp4. MP4 es un formato contenedor que abarca muchos codecs entre ellos el h264 para video y el aac para audio. Un formato contenedor es tan solo un conjunto de estandares para la codificación de datos.

El h264 es uno de los mejores codecs de video del mercado debido a que ofrece una buena calidad de imagen usando menos espacio. Ademas tanto como Apple como Adobe Flash soportan este formato en sus productos. (Ademas de otras empresas para sus telefonos o reproductores de video). Para el audio tenemos el codec AAC que viene de las siglas Advanced Audio Coding (¿falta de creatividad?) a como el h264 para video ofrece tambien una alta taza de compresión sin mayor perdida de calidad lo que lo hace ideal para su uso en internet.

Los dos codecs pertenecen al estandar MPEG-4 lo que nos permite usarlos simultaneamente en el mismo archivo.

Los parámetros correctos para codificar un vídeo en mp4 pueden ser largos y variados, dependiendo de para que vayamos a usar el resultado. En esto nos ayuda MediaCoder ya que de forma grafica podemos configurar estos valores y guardarlos para su posterior re-uso.

Transcodificando un archivo

Transcodificando un archivo

El programa en si, nos ofrece muchas opciones, tantas que intimda al usuario comun. Pero ademas, tambien incluye lo que llama “Extensiones” que son asistentes que le ayudan a elegir el formato final dependiendo de cual sea el equipo donde desea reproducir el video. Estos asistentes muestran una vista mucho mas simple y amigable al usuario ayudandolo en su busqueda de lograr el resultado que desea.

Pero no siempre es bueno confiar ciegamente en los asistentes. No es mala idea documentarse en al menos los principios basicos sobre codificación de video. Es un tema muy interesante. Personalmente, yo me quede justo ahi y me detuve justo cuando el tema empezo a hacerse complicado.

Usando uno de los asistentes de MediaCoder

Usando uno de los asistentes de MediaCoder

Lo mas probable es que lo que desees sea convertir videos a un formato que te brinde una buena calidad al menor tamaño. En ese caso mp4 es una excelente opcion debido a que es ya casi un estandar en internet y en dispositivos móviles. En el siguiente enlace puedes descargar la configuracion preestablecida para MediaCoder (Menu Archivo/Cargar Configuracion Preestablecida) para crear archivos mp4 usando la siguiente configuracion:

  • Formato Contenedor: MP4
    • Codec de Video: H.264
      • Perfil: Baseline 3.0 (este es el perfil mas compatible)
      • Bitraje: 450kbps (aumentar para mejorar la calidad, pero tambien aumenta el tamaño del video)
      • Modo: 2 pasadas (a mas pasadas mejor, 2 es lo recomendado)
      • Imagenes por segundo: 25fps (lo normal es usar entre 24 a 30, nunca menos)
    • Audio: AAC
      • Bitraje: 56kbps
      • Parametric Stereo: Si
Descargar Preset para transcodificar videos a mp4 con MediaCoder

Con esta configuración el video resultante puede reproducirse en un ipod Touch y por Adobe Flash Player (este es el formato que usan YouTube, Vimeo, Dailymotion).

Estos son algunos enlaces que te pueden servir:

Descarga de MediaCoder (actualmente en su version 0.7)
En Wikipedia: MPEG-4, H.264, AAC, transcodificar.
K-Lite Codec Pack. De que otra manera veras el resultado antes de copiarlo a su destino final si es que tu pc no tiene lo necesario para reproducir archivos mp4. K-Lite Codec Pack instala en tu pc los codecs usados en este tutorial y muchos mas.
Gom Player. Bonito, bueno y barato. Este reproductor tiene muchas opciones y reproduce muchos formatos (incluyendo FLV, MOV y MP4).

Mi crítica (constructiva) de la última pelicula de StarTrek

Hoy se estrenaba la última película de Star Trek y yo moría por verla. Tuve que esperar a que termine mi clase y poder entrar en la última función del día en el cine mas cercano. De suerte, cerca a la medianoche, la asistencia fue mínima tomando en cuenta que se trata del primer día de lanzamiento.

En la cola me encuentro con unos pocos trekkies que también han acudido a disfrutar de la película. Estos no son tan fanáticos como los que deben haber estado temprano o los que lograron entrar en la escueta lista para el pre-estreno. Soy el segundo en la cola, alegre de tener la oportunidad, aunque tarde, de poder ubicarme en el centro de la sala.

Como había leído en las criticas, la peli es buena, muy buena. No contaré la trama porque eso seria atentar contra los intereses en la saga que tanto me gusta, pero creo que si puedo comentar mis conclusiones.

Primero, los efectos especiales son magníficos así como la escenografía. Por fin encuentro creíble esta escenografía. En la última serie de Star Trek “Enterprise” en la que el Jonathan Archer es el capitán del Enterprise (muy previo a Kirk y la serie original), la nave, a pesar de que seguro el equipo encargado de diseño se esforzó, no llega a lucir mas rudimentaria que en la serie original de los sesentas. Esta nueva nave que aparece en la película se ve como la nave de Kirk pero con mas detalles, mas no mas avanzada. En escenografía la película logra un veinte.

Los efectos especiales también deben ser contados. Estupendos. Me encantó el cambio que hicieron con el efecto del salto a warp, mas no tanto con la tele-transportación. Por supuesto se perdona el uso de sonidos producidos en el espacio, a pesar que ahora es mas sabido por la gente común que no pueden haber sonidos donde no hay materia (como en el espacio = nada = vacío). Sería aburrido ver una batalla de naves a lo mudo.

En subestimaciones al espectador solo tengo una queja. Si Gene Roddenberry siguiera vivo no habría permitido usar un agujero negro de manera tan inofensiva.

Los agujeros negros son una concentración de masa tan compacta que adquiere una gran densidad y como resultado un campo de gravedad muy intenso. Nada puede escapar del campo gravitatorio de un agujero negro, ni siquiera la luz. Incluso el tiempo se ralentiza al acercarse a su horizonte. Su gravedad es tan monstruosa (millones de G’s, y en la tierra solo soportamos 8G’s) que si te colocas a unos miles de kilómetros de ella y te atrapa, te trituraría tan rápido que los estímulos de dolor no tendrían tiempo de llegar al cerebro. Sin embargo, en la película, una nave es incluso capaz de mantenerse dentro de esta anomalía y sobrevivir varios segundos. Eso es físicamente imposible. Estamos hablando de un monstruo que convierte planetas enteros en granos del tamaño de un punto de arena.

Pero no fui al cine esperando un documental, lo que los espectadores quieren es, sobretodo, pasarla bien. Y claro que lo he pasado bien. Es una de las mejores películas que he visto.

Ahora si, estando satisfecho, me voy a dormir.