Convertir base de datos latin1 a UTF-8 en MySQL

Desde la version de  MySQl 4.1 que el charset por default es UTF-8. Si tienen una base de datos antigua con datos en latin1 y desean actualizar, deben de hacer lo siguiente:

  1. Para no perder los datos exportamos la informacion de la base de datos en latin1 a un archivo plano con el comando mysqldump:
    :~$ mysqldump -u usuario -p base_de_datos –default-character-set=latin1 > backuplatin1.sql
  2. Entrando a la consola de MySQl (o mariadb) o administracion via web con PhpMyAdmin debemos de crear una nueva base de datos con el set de caracteres UTF8:
    :~$ mysql -u mi_usuario -p
    mysql> CREATE DATABASE nueva_db CHARACTER SET utf8 COLLATE utf8_general_ci;
  3. Ahora procedemos a convertir el set de caracteres del archivo backuplatin1.sql. Para luego con el archivo resultante cambiamos todas las referencias al juego de caracteres latin1:
    :~$ iconv -f ISO-8859-1 -t UTF-8 backup.sql > backup_utf8.sql
    :~$ perl -pi -w -e 's/CHARSET=latin1/CHARSET=utf8/g;' backup_utf8.sql
  4. Ahora con el backup o dump convertido al charset utf8 lo importamos a la nueva base de datos recien creada
    :~$ mysql -u mi_usuario -p  db_destino  –default-character-set=utf8 < backup_utf8.sql

Instalar y configurar cliente y servidor de hora NTP en CentOS 5

Hoy en día resulta muy importante tener nuestros equipos con la hora adecuada, tanto para saber a que hora suceden eventos, así como para simplemente enviar y/o recibir correo de forma adecuada.

Si se trata de un entorno laboral/empresarial esta actividad pasa a ser una norma, pues de esta forma estaremos seguros de los registros generados en los sitemas y de esta forma realizaremos seguimiento de forma acertada utilizando los registros del sistema.

Puede hallar una definición formal del protocolo NTP en: wikipedia

Instalamos y configuramos la parte cliente de NTP

Para cambiar la zona horaria en sistemas operativos basados en CentOS 5.4 es necesario validar que se encuentra instalado el paquete que nos permitirá establecer la zona horaria en la que nos encontramos, con el comando:

# yum list tzadata.noarch

Y la salida debería ser:

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* addons: mirrors.tummy.com
* base: mirrors.igsobe.com
* extras: centos.corenetworks.net
* updates: mirror.raystedman.net
Installed Packages
tzdata.noarch        2009k-1.el5           installed
tzdata.noarch        2009u-1.el5           installed

En caso que no esté instalado, proceda a instalarlo con el comando:

# yum install tzdata.noarch

Y luego proceda a configurar la zona horaria con el comando:

tzselect

Responde al asistente escogiendo tu zona horaria por ejemplo: América y luego Caracas.

Ahora bien, para crear un servidor NTP como un cliente de otro servidor NTP para que la hora se actualice automáticamente de forma periódica el procedimiento es el siguiente:

* Instalar el programa ntpdate

# yum install ntp.i386

* Agregas una tarea programada para que actualice la hora cada 4 horas:

# crontab -e

* Dentro de la edición del crontab agregas la siguiente línea:

0 */4 * * * /usr/sbin/ntpdate -u 2.pool.ntp.org

Instalamos y configuramos la parte servidor de NTP

* Se debe instalar el paquete ntpdate como fue indicado anteriormente

* Modificar archivo de configuración /etc/ntp.conf con los siguientes valores:

# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.
restrict default kod nomodify notrap nopeer noquery
#restrict -6 default kod nomodify notrap nopeer noquery

# Permit all access over the loopback interface.  This could
# be tightened as well, but to do so would effect some of
# the administrative functions.
restrict 127.0.0.1
#restrict -6 ::1

# Hosts on local network are less restricted.
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 0.centos.pool.ntp.org
server 1.centos.pool.ntp.org
server 2.centos.pool.ntp.org

#broadcast 192.168.1.255 key 42         # broadcast server
#broadcastclient                        # broadcast client
#broadcast 224.0.1.1 key 42             # multicast server
#multicastclient 224.0.1.1              # multicast client
#manycastserver 239.255.254.254         # manycast server
#manycastclient 239.255.254.254 key 42  # manycast client

# Undisciplined Local Clock. This is a fake driver intended for backup
# and when no outside source of synchronized time is available.
server  127.127.1.0     # local clock
fudge   127.127.1.0 stratum 10

# Drift file.  Put this in a directory which the daemon can write to.
# No symbolic links allowed, either, since the daemon updates the file
# by creating a temporary in the same directory and then rename()'ing
# it to the file.
driftfile /var/lib/ntp/drift

# Key file containing the keys and key identifiers used when operating
# with symmetric key cryptography.
keys /etc/ntp/keys

# Specify the key identifiers which are trusted.
#trustedkey 4 8 42

# Specify the key identifier to use with the ntpdc utility.
#requestkey 8

# Specify the key identifier to use with the ntpq utility.
#controlkey 8

# Permisos que se asignara para cada servidor de tiempo.
# En los ejemplos, no se permite a las fuente consultar, ni
# modificar el servicio en el sistema ni enviar mensaje de
# registro.
restrict 0.centos.pool.ntp.org mask 255.255.255.255 nomodify notrap noquery
restrict 1.centos.pool.ntp.org mask 255.255.255.255 nomodify notrap noquery
restrict 2.centos.pool.ntp.org mask 255.255.255.255 nomodify notrap noquery

# Se Activa la difusion hacia los clientes
broadcastclient

* Iniciar el servicio con:

# service ntpd start

* Agregar el servicio para que se inicie de forma automática con el sistema:

# chkconfig ntpd on

* Finalmente permitir al firewall recibir solicitudes de ntp de nuestros clientes agregando al archivo: /etc/sysconfig/iptables la siguiente línea:

-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 123 -j ACCEPT

Antes de la línea:

-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited

* Reiniciamos el firewall:

# service iptables restart

Y listoooooooooo ya tenemos nuestro propio cliente y servidor de hora NTP ¡¡¡¡¡
Si teneis alguna duda, comentarla¡¡¡

The Official Ubuntu Book, Quinta Edición

the-official-ubuntu-book
The-official-ubuntu-book

Ya esta disponible desde Amazon, la quinta edición de The Official Ubuntu Book.

The Official Ubuntu Book cubre en sus 448 páginas gran parte de lo necesario para manejar y conocer esta distribución, una de las más populares actualmente en el mundo Gnu/Linux. Puedes darle un vistazo al contenido del libro en la pagina de Amazon.

También lo podeis descargar libremente desde aqui http://hotfile.com/dl/58845208/26a876a/the.oficcial.ubuntu.book.rar.html

Script para vaciar la Swap en Linux

Muchos servidores o sistemas Linux al tener demasiados archivos abiertos necesitan mucha SWAP y mucha RAM , para evitar que no se bloquee el servidor por tener la memoria SWAP llena, aqui teneis este script en bash para vaciar o liberar memoria o partición de intercambio (como lo queramos llamar) SWAP .

#!/bin/bash
echo -e "\nOutput of free before:"
free
swapoff -a ; swapon -a
echo -e "\nOutput of free after:"
free
echo "Swap Clean DONE¡"

Este script lo podeis guardar en un archivo, lo haceis ejecutable con «chmod +x archivo» y lo podeis poner en un CRON diario para que se vacie la partición SWAP

NOTA: para reducir la tendencia a usar SWAP se modifica el archivo sysctl.conf con el siguiente valor:

#Tendencia del uso de Swap
vm.swappiness=20

Como instalar Android en un iPhone

El proceso de instalar Android en un iPhone no es sencillo. Requiere seguir una serie de pasos más o menos complejos y algo de conocimiento de lo que se está haciendo y de cómo desbloquear e intervenir el iPhone. Los resultados tampoco ofrecen nada más allá que lo que se puede conseguir con un teléfono Android «de verdad».

De hecho en teoría no debería ser muy cómodo -siquiera posible en algunos aspectos- utilizar Android con normalidad en un iPhone, en parte porque, por ejemplo, los terminales Android tienen en común una serie de botones que se integran con el manejo del sistema operativo -volver, menú, home,…-, y estos no existen físicamente en el iPhone, aunque en este caso el botón de encendido hace las veces de botón «volver», que es el más importante.

La detallada guía publicada en PC World explica cómo hacer el cambio de sistema operativo, paso a paso. Explica además otros problemas casi más importantes. Por ejemplo, dado que Android no tiene capacidad para gestionar el consumo de batería del iPhone -este aspecto requiere el entendimiento total entre el sistema operativo y el teléfono- utilizando Android ésta durará apenas una hora.

Tampoco es posible sincronizar contenidos y el proceso puede terminar con una sucesión de errores temporales o convirtiendo el iPhone en un sofisticado pisapapeles.

Vídeo: