martes, 23 de marzo de 2010

Instalando Go

Hoy gogleando he encontrado una guía para la instalacion del lenguaje de programación de gloogle (GO) en español, así que no pude dejar de hacer la referencia en mi blogger. Aqui la dejo derrepente le pueda servir a otro/a novato/a como lo soy yo ...!!!
Instalando Go

Introducción
Variables de entorno
Ports
Descargar del repositorio
Instalar Go
Escribiendo programas
Recursos de la Communidad


Introducción

Go es un proyecto de código abierto, distribuído bajo una licencia tipo BSD. Este documento explica como recuperar sus fuentes, compilarlas en su propia máquina y ejecutarlas.

Existen dos métodos diferentes de experimentar con Go. Este documento se enfoca en el compilador gc de Go y herramientas (6g, 8g, etc.). Para más información de como usar gccgo, un compilador más tradicional usando GCC como 'back end', vea en Configuración y usar gccgo (aquí va un enlace).


Variables de entorno

El entorno de compilación de Go depende de tres variables de entorno que debería de configurar en su .bashrc o equivalente, más una variable opcional:

$GOROOT
La raíz del árbol Go en el sistema de ficheros. Normalmente es $HOME/go pero puede ser cualquier directorio.
$GOOS y $GOARCH
El nombre del sistema operativo de destino y la arquitectura de la compilación. Las opciones para $GOOS son linux, darwin (Mac OS X 10.5 o 10.6), y nacl (Native Client, un 'port' incompleto). Las opciones para $GOARCH son amd64 (64-bit x86, el 'port' más maduro), 386 (32-bit x86), y arm (32-bit ARM, un 'port' incompleto). Las combinaciones válidas son linux/amd64, linux/arm, linux/386, darwin/amd64, darwin/386, y nacl/386.
$GOBIN (opcional)
La localización dónde los binarios serán instalados.Si configura $GOBIN tiene que asegurarse que está luego en su $PATH de esta forma los comandos recién creados específicos de Go pueden ser encontrados durante la compilación. El defecto, $HOME/bin, puede que ya esté su $PATH.
Observe que $GOARCH y $GOOS identifican el entorno de destino, no el entorno dónde usted ejecuta esta compilación. En efecto, siempre está usando compilación cruzada.

Después de configurar estas variables en su .bashrc, así que haga una doble comprobación listándolas en su entorno.

$ env | grep '^GO'


Ports

Los compiladores de Go funcionan en dos sistemas operativos (Linux y Mac OS X) y en tres conjuntos de instrucciones. Las versiones de Linux y Mac tienen las mismas capacidades exceptuando que el 'port' a ARM no funciona en OS X (aún).

Existen importantes diferencias en la calidad de los compiladores para las diferentes arquitecturas.

amd64 (a.k.a. x86-64); 6g,6l,6c,6a
La implementación más madura. El compilador tiene un optimizador efectivo ('registerizer') y genera buen código (aunque gccgo puede hacer notablemente mejor a veces).
386 (a.k.a. x86 or x86-32); 8g,8l,8c,8a
Comparable al 'port' de amd64. No tan expuesto pero casi tan sólido.
arm (a.k.a. ARM); 5g,5l,5c,5a
Tiene varios error pendientes pero se está mejorando. Probado en QEMU y en un teléfono android.
Excepto para cosas como código de interfaces de bajo nivel para sistemas operativos, el funcionamiento 'runtime' es el mismo en todos los 'ports' e incluye un recolector de basura 'marcar-y-barrer' (uno más elaborado está en camino), 'arrays' eficientes y troceado de cadenas, soporte para pilas segmentadas y una implementación de 'gorutinas' fuerte.

Mire la documentación anexa de gccgo para ver los detalles sobre ese compilador y su entorno.


Descargar del repositorio

Si no tiene Mercurial instalado (no tiene el comando 'hg'), use este comando:

$ sudo easy_install mercurial
funciona en la mayoría de los sistemas. Si eso falla, visite la página de descargas de Mercurial.

Asegúrese si el directorio $GOROOT no existe o está vacío. Entonces haga un 'check out' del repositorio:

$ hg clone -r release https://go.googlecode.com/hg/ $GOROOT


Instalar Go

El 'tool chain' de Go está escrito en C. Para compilarlo necesita tener GCC, las librerías estándar de C, el generador de 'parsers' Bison y el editor de texto ed instalado. En OS X pueden ser instalados con parte de Xcode. En Linux,

$ sudo apt-get install bison gcc libc6-dev ed
(o su equivalente en su distribución de Linux).

Para compilar la distribución Go, asegúrese que $GOBIN (o $HOME/bin si $GOBIN no está definido) está en su $PATH y entonces ejecute

$ cd $GOROOT/src
$ ./all.bash
Si all.bash va bien teminará mostrando

--- cd ../test
N known bugs; 0 unexpected bugs
dónde 'N' es un número que varía de versión en versión.


Escribiendo programas

Dado un fichero file.go, compílelo usando

$ 6g file.go
6g es el compilador de Go para amd64; Tendrá el resultado en el fichero file.6. El '6' identifica ficheros para la arquitectura amd64. La letras identificadoras para 386 y arm son '8' y '5' respectivamente. O sea, si está compilando para 386 debería usar 8g y el resultado debiera llamarse file.8.

Para linkar el fichero use

$ 6l file.6
y ejecútelo con

$ ./6.out

Un ejemplo completo:

$ cat >hello.go <
package main

import "fmt"

func main() {
fmt.Printf("hola, mundo\n")
}
EOF
$ 6g hello.go
$ 6l hello.6
$ ./6.out
hello, world
$
No existe la necesidad de listar las dependencias del paquete hello.6 (en este caso el paquete fmt) en la línea de comandos de 6l. El linkador aprende sobre ellos leyendo hello.6.

Para compilar programas más complicados probablemente quiera usar un Makefile. Existen ejemplos en lugares como $GOROOT/src/cmd/godoc/Makefile y $GOROOT/src/pkg/*/Makefile. La documentación sobre contribuir al proyecto Go da más detalles sobre el proceso de compilación y pruebas de programas Go.


Recursos de la Comunidad

Para obtener ayuda en tiempo real, encontrará muchos usuarios o desarrolladores en el canal #go-nuts en el servidor de IRC de Freenode.

La lista de correos oficial para hablar sobre el lenguaje Go es Go Nuts.

Los fallos pueden ser notificados usando el gestor de incidencias de Go.

Par aquellos que deseen estar al día con el desarrollo existe otra lista de correo, golang-checkins, que recibe un mensaje con un resumen de cada inclusión en el repositorio de Go.

FUENTE:http://groups.google.es/group/golang-spanish/web/instalacin

martes, 16 de marzo de 2010

Habilitar la cuenta root en Ubuntu

Por defecto, la cuenta root no viene habilitada en Ubuntu. Por que?! Pues por que la cuenta ‘root’ o ’superusuario’ es el administrador del sistema, para el que no hay ninguna restricción, para el que no se oculta nada ni se restringe ningún acceso (es el amo y señor del sistema), por lo tanto, esta cuenta de no usarse correctamente, es muy peligrosa. Si la activas ten cuidado al usarla, y de preferencia, utiliza un usuario normal.

Para activarla, es necesario darle un password, luego puedes permitir su acceso desde el loggin del sistema.

Después de instalar el sistema abre un terminal (Aplicaciones > Accesorios > Terminal) y tipea lo siguiente

~$> sudo passwd root

a lo que el sistema respondió

Enter new UNIX password:

entonces introdujce la clave para el root y la reescribe según lo indica el mensaje

Retype new UNIX password:

la respuesta que te da será la siguiente:

passwd: password updated successfully

por lo que al escribir su apareció el símbolo # que identifica al usuario root.