Usando Linux para muchas cosas y disfrutando de videojuegos, en dispositivos moviles, consolas y pc. Using Linux for many things and enjoying video games, mobile devices, consoles and pc

Pros y Contras de Ubuntu Lucid hasta el momento

Desde ayer lunes comence mi uso de la nueva version de Ubuntu, Lucid 10.04. En mi caso la version de 64 bits me ha dado algunos dolores de cabeza.
El primero fue al tratar de hacer boot desde el cd para hacer una instalacion limpia al yo tener mi /home en una particion separada. El boot me dejo con una pantalla en negro (blank) y el teclado totalmente bloqueado por lo que tuve que hacer un reboot desde la cpu. Volvi a intentar varias veces y nada, comprobe el cd y estaba ok. Entonces busque en internet y me encuentro con que muchos han tenido problemas con los drivers para ATI y yo tengo una ATI Radeon 7000/ve asi que opte por hacer un upgrade.
Actualice mi ubuntu con los ultimos updates disponibles y ahi hice el upgrade, todo ok, ningun error hasta que hice reboot al final. Quedo mi monitor en negro y totalmente bloqueado el teclado por lo que tuve que hacer un reset por la CPU, trato de entrar por el menu de grub para tratar de corregir o intentar con un kernel anterior pero nada, me caia en el prompt dandome la opcion de entrar con mi usuario en consola pero a los 10 segundos aproximadamente se ponia la pantalla totalmente en negro y bloqueado el teclado.
Alli desde otro pc encontre que a algunos les habia funcionado instalar con la opcion nomodeset asi que intente reinstalar con esta opcion, ahi hizo cargo el instalador grafico bien e hice la instalacion personalizada ok, sin errores. Al hacer boot entre al menu de grub y edite la primera linea del kernel quitando quiet splash y colocando nomodeset. Guarde los cambios e hice boot y listo, cargo sin problemas.
Share/Bookmark

Cluster MySQL

Como un nuevo proyecto debo crear un cluster de email y para ello debo usar MySQL en cluster para que no sea un punto de fallo.
Trabajaremos en servidores Centos 5.4 i386 actualizados y todos los comandos seran ejecutados desde root. La configuracion basica es de 4 servers, 2 para data, 1 para consola de manejo y 1 para SQL.
Los servers de data deben contar con buena cantidad de memoria y el de consola y SQL con la cantidad basica minima.

Nodo A-192.168.0.19
Nodo B-192.168.0.21
MGM-192.168.0.20
MySQL Server SQL-192.168.0.22

A la fecha la version es MySQL Cluster 7.0.13

-Descargamos los rpm a uno de los servers
wget -c http://mysql.mirrors.hoobly.com/Downloads/MySQL-Cluster-7.0/MySQL-Cluster-gpl-client-7.0.13-1.rhel5.i386.rpm

wget -c http://mysql.mirrors.hoobly.com/Downloads/MySQL-Cluster-7.0/MySQL-Cluster-gpl-server-7.0.13-1.rhel5.i386.rpm

wget -c http://mysql.mirrors.hoobly.com/Downloads/MySQL-Cluster-7.0/MySQL-Cluster-gpl-shared-7.0.13-1.rhel5.i386.rpm

wget -c http://mysql.mirrors.hoobly.com/Downloads/MySQL-Cluster-7.0/MySQL-Cluster-gpl-storage-7.0.13-1.rhel5.i386.rpm

wget -c http://mysql.mirrors.hoobly.com/Downloads/MySQL-Cluster-7.0/MySQL-Cluster-gpl-tools-7.0.13-1.rhel5.i386.rpm

-Los copiamos a los demás servers y con eso evitamos tener que descargarlos en todos.

scp *.rpm ip-del-server:/root

-Eliminamos versión normal de mysql en caso de estar instalado

rpm -qa|grep mysql
mysql-server-5.0.77-4.el5_4.2
mysql-devel-5.0.77-4.el5_4.2
mysql-5.0.77-4.el5_4.2

rpm -e mysql-server-5.0.77-4.el5_4.2 mysql-devel-5.0.77-4.el5_4.2 mysql-5.0.77-4.el5_4.2
error: Failed dependencies:
    libmysqlclient.so.15 is needed by (installed) perl-DBD-MySQL-3.0007-2.el5.i386
    libmysqlclient.so.15(libmysqlclient_15) is needed by (installed) perl-DBD-MySQL-3.0007-2.el5.i386

rpm -e mysql-server-5.0.77-4.el5_4.2 mysql-devel-5.0.77-4.el5_4.2 mysql-5.0.77-4.el5_4.2 perl-DBD-MySQL-3.0007-2.el5.i386

-Instalamos nodo A

rpm -vi MySQL-Cluster-gpl-tools-7.0.13-1.rhel5.i386.rpm MySQL-Cluster-gpl-client-7.0.13-1.rhel5.i386.rpm MySQL-Cluster-gpl-storage-7.0.13-1.rhel5.i386.rpm MySQL-Cluster-gpl-server-7.0.13-1.rhel5.i386.rpm

mkdir /var/lib/mysql-cluster
mkdir /var/lib/mysql-cluster/backup

-Creamos el my.cnf

vi /etc/my.cnf
[MYSQLD]
ndbcluster
ndb-connectstring=192.168.0.20 # ip del MGM

[MYSQL_CLUSTER]
ndb-connectstring=192.168.0.20 # ip del MGM

-Instalamos nodo B

rpm -vi MySQL-Cluster-gpl-tools-7.0.13-1.rhel5.i386.rpm MySQL-Cluster-gpl-client-7.0.13-1.rhel5.i386.rpm MySQL-Cluster-gpl-storage-7.0.13-1.rhel5.i386.rpm MySQL-Cluster-gpl-server-7.0.13-1.rhel5.i386.rpm


mkdir /var/lib/mysql-cluster
mkdir /var/lib/mysql-cluster/backup

-Creamos el my.cnf


vi /etc/my.cnf
[MYSQLD]
ndbcluster
ndb-connectstring=192.168.0.20 # ip del MGM

[MYSQL_CLUSTER]
ndb-connectstring=192.168.0.20 # ip del MGM

-Instalamos MGM

rpm -vi MySQL-Cluster-gpl-management-7.0.13-1.rhel5.i386.rpm MySQL-Cluster-gpl-tools-7.0.13-1.rhel5.i386.rpm

mkdir /var/lib/mysql-cluster
cd /var/lib/mysql-cluster

vi config.ini
[NDBD DEFAULT]
NoOfReplicas=2

[TCP DEFAULT]

[NDB_MGMD]
hostname=192.168.0.20 # Hostname o IP MGM
datadir=/var/lib/mysql-cluster # Directorio de MGM logfiles

# node A
[NDBD]
hostname=192.168.0.19 # Hostname o IP
DataDir=/var/lib/mysql-cluster # Directorio para data
BackupDataDir=/var/lib/mysql-cluster/backup
DataMemory=512M # Depende del hardware


# node B
[NDBD]
hostname=192.168.0.21 # Hostname o IP
DataDir= /var/lib/mysql-cluster # Directorio para data
BackupDataDir=/var/lib/mysql-cluster/backup
DataMemory = 512M # Depende del hardware

# SQL node
[MYSQLD]
hostname=192.168.0.22 # Hostname o IP

[MYSQLD]
[MYSQLD]
[MYSQLD]


-Instalamos SQL

rpm -vi MySQL-Cluster-gpl-server-7.0.13-1.rhel5.i386.rpm MySQL-Cluster-gpl-shared-7.0.13-1.rhel5.i386.rpm MySQL-Cluster-gpl-client-7.0.13-1.rhel5.i386.rpm


-Creamos el my.cnf


vi /etc/my.cnf
[MYSQLD]
ndbcluster
ndb-connectstring=192.168.0.20 # ip del MGM

[MYSQL_CLUSTER]
ndb-connectstring=192.168.0.20 # ip del MGM

-Hora de iniciar el cluster, para ello debe tenerse en cuenta que el orden es, primero el MGM, después los Node y por ultimo el SQL

-Iniciamos el MGM

ndb_mgmd -f /var/lib/mysql-cluster/config.ini


Si todo va bien debe devolvernos algo asi

2010-04-07 15:38:42 [MgmtSrvr] INFO     -- NDB Cluster Management Server. mysql-5.1.41 ndb-7.0.13
2010-04-07 15:38:42 [MgmtSrvr] INFO     -- The default config directory '//mysql-cluster' does not exist. Trying to create it...
2010-04-07 15:38:42 [MgmtSrvr] INFO     -- Sucessfully created config directory
2010-04-07 15:38:43 [MgmtSrvr] INFO     -- Reading cluster configuration from '/var/lib/mysql-cluster/config.ini'

-Iniciamos Nodo A

ndbd --initial

Y debe devolvernos algo asi
2010-04-07 15:41:59 [ndbd] INFO     -- Configuration fetched from '192.168.0.20:1186', generation: 1

-Iniciamos Nodo B


ndbd --initial
Y debe devolvernos algo asi
2010-04-07 15:41:59 [ndbd] INFO     -- Configuration fetched from '192.168.0.20:1186', generation: 1

-Iniciamos SQL

service mysql start
Starting MySQL.. SUCCESS!

-Verificamos este ejecutando correctamente

mysql -u root

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.1.41-ndb-7.0.13-cluster-gpl MySQL Cluster Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

-Ejecutamos

SHOW ENGINES\G
*************************** 1. row ***************************
      Engine: ndbcluster
     Support: YES
     Comment: Clustered, fault-tolerant tables
Transactions: YES
          XA: NO
  Savepoints: NO
*************************** 2. row ***************************
      Engine: MRG_MYISAM
     Support: YES
     Comment: Collection of identical MyISAM tables
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 3. row ***************************
      Engine: ndbinfo
     Support: YES
     Comment: MySQL Cluster system information storage engine
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 4. row ***************************
      Engine: CSV
     Support: YES
     Comment: CSV storage engine
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 5. row ***************************
      Engine: MEMORY
     Support: YES
     Comment: Hash based, stored in memory, useful for temporary tables
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 6. row ***************************
      Engine: FEDERATED
     Support: NO
     Comment: Federated MySQL storage engine
Transactions: NULL
          XA: NULL
  Savepoints: NULL
*************************** 7. row ***************************
      Engine: ARCHIVE
     Support: YES
     Comment: Archive storage engine
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 8. row ***************************
      Engine: InnoDB
     Support: YES
     Comment: Supports transactions, row-level locking, and foreign keys
Transactions: YES
          XA: YES
  Savepoints: YES
*************************** 9. row ***************************
      Engine: MyISAM
     Support: DEFAULT
     Comment: Default engine as of MySQL 3.23 with great performance
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 10. row ***************************
      Engine: BLACKHOLE
     Support: YES
     Comment: /dev/null storage engine (anything you write to it disappears)
Transactions: NO
          XA: NO
  Savepoints: NO
10 rows in set (0.00 sec)

-Salimos con

exit;

-Verifiquemos el MGM

ndb_mgm
Cluster Configuration
---------------------
[ndbd(NDB)]    2 node(s)
id=2    @192.168.0.19  (mysql-5.1.41 ndb-7.0.13, Nodegroup: 0, Master)
id=3    @192.168.0.21  (mysql-5.1.41 ndb-7.0.13, Nodegroup: 0)

[ndb_mgmd(MGM)]    1 node(s)
id=1    @192.168.0.20  (mysql-5.1.41 ndb-7.0.13)

[mysqld(API)]    4 node(s)
id=4    @192.168.0.22  (mysql-5.1.41 ndb-7.0.13)
id=5 (not connected, accepting connect from any host)
id=6 (not connected, accepting connect from any host)
id=7 (not connected, accepting connect from any host)

ndb_mgm>exit;

-Otra verificacion de SQL

mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.1.41-ndb-7.0.13-cluster-gpl MySQL Cluster Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> SHOW STATUS LIKE 'ndb%';
+--------------------------------+--------------+
| Variable_name                  | Value        |
+--------------------------------+--------------+
| Ndb_cluster_node_id            | 4            |
| Ndb_config_from_host           | 192.168.0.20 |
| Ndb_config_from_port           | 1186         |
| Ndb_number_of_data_nodes       | 2            |
| Ndb_number_of_ready_data_nodes | 0            |
| Ndb_connect_count              | 0            |
| Ndb_execute_count              | 0            |
| Ndb_scan_count                 | 0            |
| Ndb_pruned_scan_count          | 0            |
| Ndb_cluster_connection_pool    | 1            |
| Ndb_conflict_fn_max            | 0            |
| Ndb_conflict_fn_old            | 0            |
+--------------------------------+--------------+
12 rows in set (0.00 sec)

mysql> SHOW PROCESSLIST \G;
*************************** 1. row ***************************
     Id: 1
   User: system user
   Host:
     db: NULL
Command: Daemon
   Time: 725
  State: Waiting for ndbcluster to start
   Info: NULL
*************************** 2. row ***************************
     Id: 3
   User: root
   Host: localhost
     db: NULL
Command: Query
   Time: 0
  State: NULL
   Info: SHOW PROCESSLIST
2 rows in set (0.00 sec)

mysql>exit;

-Para apagar el cluster ejecutamos en MGM

ndb_mgm -e shutdown
Connected to Management Server at: localhost:1186
0 NDB Cluster node(s) have shutdown.
Disconnecting to allow management server to shutdown.

-Para iniciarlo ejecutamos en MGM

ndb_mgmd -f /var/lib/mysql-cluster/config.ini
 2010-04-07 16:07:42 [MgmtSrvr] INFO     -- NDB Cluster Management Server. mysql-5.1.41 ndb-7.0.13
2010-04-07 16:07:42 [MgmtSrvr] INFO     -- Loaded config from '//mysql-cluster/ndb_1_config.bin.1'

-Ejecutamos en Nodo A y B. OJO, esta vez sin el parametro --initial

ndbd
2010-04-07 16:08:41 [ndbd] INFO     -- Configuration fetched from '192.168.0.20:1186', generation: 1

-Detenemos el servicio en SQL

service mysql stop

-Lo iniciamos

service mysql start
Starting MySQL.. SUCCESS!

Y listo, ya tenemos nuestro cluster MySQL, las conexiones y demas procesos normales de http o algun software que usemos los dirigimos a SQL
En un próximo articulo mostrare la instalación y configuración del email server con este cluster MySQL
Share/Bookmark

PSP cumple 5 años

Un 24 de marzo del 2005 se puso a la venta en Norteamérica la consola portable PSP. Su amplia pantalla, WiFi incorporado y un sistema de discos UMD entre otras características le dieron buena acogida por los gamers. Mas info aquí.
Share/Bookmark

Nuevo "look"

He cambiado la plantilla del blog, espero les guste. Todo para buscar que los artículos no se deformen y sean cómodos de leer en su totalidad.
Share/Bookmark

Centraliza todo con eBox

Hay poco tiempo y mucho trabajo, es lo que muchos decimos, entonces, tener un servidor fácil de administrar y que tenga casi todo lo que podamos necesitar para nuestra LAN es una maravilla. Eso y mucho mas hace eBox, una solución Open Source basada en Ubuntu server que por medio de una interfaz web nos permite activar desde un firewall hasta un servidor de email. Aca les muestro como instalarlo en un ubuntu server minimal 8.04.
Todos los comandos se ejecutaran desde la cuenta root.

Agregamos el repositorio de eBox

echo "deb http://ppa.launchpad.net/ebox/1.4/ubuntu hardy main" >> /etc/apt/sources.list


Agregamos la llave del repositorio

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 342D17AC

Ejemplo de mi /etc/apt/sources.list

deb http://archive.ubuntu.com/ubuntu hardy main
deb http://co.archive.ubuntu.com/ubuntu/ hardy main restricted
deb-src http://co.archive.ubuntu.com/ubuntu/ hardy main restricted
deb http://co.archive.ubuntu.com/ubuntu/ hardy-updates main restricted
deb-src http://co.archive.ubuntu.com/ubuntu/ hardy-updates main restricted
deb http://co.archive.ubuntu.com/ubuntu/ hardy universe
deb-src http://co.archive.ubuntu.com/ubuntu/ hardy universe
deb http://co.archive.ubuntu.com/ubuntu/ hardy-updates universe
deb-src http://co.archive.ubuntu.com/ubuntu/ hardy-updates universe
deb http://co.archive.ubuntu.com/ubuntu/ hardy multiverse
deb-src http://co.archive.ubuntu.com/ubuntu/ hardy multiverse
deb http://co.archive.ubuntu.com/ubuntu/ hardy-updates multiverse
deb-src http://co.archive.ubuntu.com/ubuntu/ hardy-updates multiverse

deb http://security.ubuntu.com/ubuntu hardy-security main restricted
deb-src http://security.ubuntu.com/ubuntu hardy-security main restricted
deb http://security.ubuntu.com/ubuntu hardy-security universe
deb-src http://security.ubuntu.com/ubuntu hardy-security universe
deb http://security.ubuntu.com/ubuntu hardy-security multiverse
deb-src http://security.ubuntu.com/ubuntu hardy-security multiverse
deb http://ppa.launchpad.net/ebox/1.4/ubuntu hardy main


Actualizamos el repositorio

apt-get update

Instalamos ebox

apt-get -y install ebox-all

Apt comenzara a descargar todos los paquetes requeridos, hora de ir por un cafe :-)

Cuando termine de descargar comienza la configuracion de algunos servicios.
Comenzamos con snort, usado como IDS para detectar intrusos en nuestra LAN. Primero nos preguntara en que interfaz de red "escuchara", en mi caso como es un server virtualizado con openvz es venet0:0, en un server normal puede ser eth0 o eth1 dependiendo en que eth esta la LAN.


Rango de ip's donde escuchara.



Comenzamos a configurar LDAP. Aqui colocamos la ip del server.

Para motivos del ejemplo, usaremos example.net como domain llevado a ldap

Elegimos la versión mas actual de ldap

Respondemos afirmativo para que se cree una db local con passwords

Usamos el default de No

Creamos la cuenta manager en ldap

Colocamos password a la cuenta root de ldap

Colocamos password a la interfaz web administrativa de ebox y la confirmamos


Confirmamos el puerto https

Configuramos un servicio de DNS dinamico, nos muestran los 4 mas populares, para el ejemplo, usaremos dyndns.

Colocamos un host o nombre delante de dyndns.org


Colocamos el usuario y password que ya debemos tener en dyndns.org




Configuramos postfix, para el servicio de email, dependiendo de la funcionalidad que le vayamos a dar, es el que debemos escoger. Nosotros para este ejemplo, lo configuramos como un server internet de email.


Colocamos el hostname o nombre del server completo


Configuramos samba para la gestion de nuestro grupo de maquinas Windows.



Si no hubo errores, debe caer en el prompt de linux normalmente y ya podemos abrir un firefox y apuntarlo a la ip con el puerto 443 o el que hayamos configurado para entrar a su web administrativa. Lo primero que nos pedira es el password de ingreso que colocamos anteriormente.


Y listo, entramos a la web administrativa.


En proximas entregas hablare de como configurar el proxy, el webmail, etc.
Espero les guste y lo aprovechen.


Share/Bookmark

Te gusta Futurama?



Si así es, no debes desaprovechar esta promocion de Amazon que ademas de venir en una caja al mejor estilo de la serie con la cabeza de Bender (genial) trae una carta del creador de la serie, Matt Groenin.
Share/Bookmark

Se renueva Playstation Home


Mañana jueves 11 se actualizara Playstation Home a la version 1.35. Debido a esto el servicio estara fuera de servicio un tiempo para hacer el cambio.
Se espera que con esta actualizacion se mejoren varias areas que la comunidad pidio cambiar, como los tiempos de entrada, busqueda de amigos, etc.
Ampliación de esta noticia aqui.
Share/Bookmark

A la venta replica de las Blade of Chaos de Kratos

A unos días del lanzamiento de God of War 3 ya se pueden comprar las replicas de las Blade of Chaos de Kratos, protagonista del videojuego. Aquí en este link podrán comprar la replica, OJO, solo es una, si quieren el par, deberán comprar 2 :-)
Share/Bookmark

Assassin's Creed por 48 horas gratis

Los propietarios de iPhone podran descargar gratis la version de Assassin's Creed para su telefono las proximas 48 horas, aqui el link de descarga en Itunes. Que lo disfruten.
Share/Bookmark

BigBlueButton en Ubuntu server 9.04

Hoy les traigo una alternativa a DimDim. Las videoconferencias con chat, video y ficheros compartidos entre un grupo de colaboradores.
Para esto usaremos un Ubuntu Server 9.04 (los desarrolladores dicen que aun no recomiendan el 9.10) y todos los comandos los ejecutaremos como root.
Instalamos un ubuntu server 9.04 minimal, solo marcamos el openssh server.
Nos logeamos como el user creado y le colocamos password a la cuenta root, despues nos pasamos a la cuenta root para ejecutar los siguientes comandos como root.

wget http://archive.bigbluebutton.org/bigbluebutton.asc
apt-key add bigbluebutton.asc
echo "deb http://archive.bigbluebutton.org/ bigbluebutton main" | sudo tee /etc/apt/sources.list.d/bigbluebutton.list

Actualizamos los repositorios e instalamos bigbluebutton

apt-get update
apt-get install bigbluebutton

Colocamos password a la cuenta root de MySQL cuando se nos pida.
Damos el password de root de MySQL cuando se nos pide para crear la db de BigBlueButton.

Actualizamos el server

apt-get update
apt-get dist-upgrade

Instalamos el modulo para compartir escritorio. Este viene separado por estar bajo una licencia AGPL

apt-get install bbb-apps-deskshare

Agregamos el modulo de konference a asterisk

echo "load => app_konference.so" >> /etc/asterisk/modules.conf
/etc/init.d/asterisk restart

Y con esto terminamos, podemos usar el URL http://ip-del-servidor/ para conectarnos. Share/Bookmark

Reconstruir db rpm en Openvz

Este problema me ha pasado varias veces con servidores virtuales ejecutando en Openvz. Estoy trabajando en un server y trato de instalar algun rpm y veo que yum me devuelve el siguiente error:

Loaded plugins: fastestmirror
error: no dbpath has been set
error: cannot open Packages database in /%{_dbpath}
Traceback (most recent call last):
File "/usr/bin/yum", line 29, in ?
yummain.user_main(sys.argv[1:], exit_code=True)
File "/usr/share/yum-cli/yummain.py", line 229, in user_main
errcode = main(args)
File "/usr/share/yum-cli/yummain.py", line 84, in main
base.getOptionsConfig(args)
File "/usr/share/yum-cli/cli.py", line 184, in getOptionsConfig
enabled_plugins=self.optparser._splitArg(opts.enableplugins))
File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 191, in _getConfig
self._conf = config.readMainConfig(startupconf)
File "/usr/lib/python2.4/site-packages/yum/config.py", line 754, in readMainConfig
yumvars['releasever'] = _getsysver(startupconf.installroot, startupconf.distroverpkg)
File "/usr/lib/python2.4/site-packages/yum/config.py", line 824, in _getsysver
idx = ts.dbMatch('provides', distroverpkg)
TypeError: rpmdb open failed

Mirando y mirando encontre la solucion. Ejecutamos lo siguiente como root dentro del server virtual.
rm /dev/urandom
mknod -m 644 /dev/urandom c 1 9
yum clean all

Y listo, ya podemos usar yum o rpm sin que nos devuelva errores.
Share/Bookmark