jueves, 26 de julio de 2012

Sudoers en Debian, Ubuntu y Slackware


En el presente artículo explicaré como dar permiso a un usuario de hacer tareas administrativas con el comando sudo en las distribuciones de GNU/Linux Debian, Ubuntu y Slackware.

Con esto resolvemos: "user is not in the sudoers file. This incident will be reported" (Que nos dice que el usuario no está en el archivo sudoers.)

GNU/Linux Debian

En Debian el grupo "sudo" ya está en el archivo sudoers, por lo tanto todos los usuarios que pertenezcan a este grupo tendrán permiso de hacer sudo. Lo que hace falta es agregar a los usuarios a este grupo.

Así luce la entrada en archivo sudoers de Debian
# Members of the sudo group may gain root privileges %sudo ALL=(ALL) ALL

Para agregar el usuario al grupo sudo, primero nos hacemos root, con el comando su, hay que introducir la contraseña de root.
$ su

Luego agregamos el usuario al grupo "sudo" de la siguiente manera
# gpasswd -a misuario sudo
Lo que hace falta después es cerrar la sesión del usuario que acabamos de agregar al grupo "sudo" y al volver a iniciar la sesión ya tendrá el derecho de ejecutar comandos con privilegios elevados por medio de sudo.

Para revocar el permiso de hacer sudo, se elimina a el usuario del grupo "sudo", ejecutando el siguiente comando como root
# gpasswd -d misuario sudo


Ubuntu

En Ubuntu el grupo "admin" ya está en el archivo sudoers, por lo tanto todos los usuarios que pertenezcan a este grupo tendrán permiso de hacer sudo. Lo que hace falta es agregar a los usuarios a este grupo.

Así luce la entrada en archivo sudoers de Ubuntu
# Members of the admin group may gain root privileges %admin ALL=(ALL) ALL

Para agregar el usuario al grupo admin (desde un usuario ya sudoer (En Ubuntu el usuario que creamos durante la instalación siempre es sudoer))
$ sudo gpasswd -a misuario admin
Lo que hace falta después es cerrar la sesión del usuario que acabamos de agregar al grupo "admin" y al volver a iniciar la sesión ya tendrá el derecho de ejecutar comandos con privilegios elevados por medio de sudo.

Para revocar el permiso de hacer sudo, se elimina a el usuario del grupo "admin", ejecutando el siguiente comando como root
# gpasswd -d misuario admin


Slackware

Al igual que en Debian y Ubuntu, Slackware también tiene un grupo de administradores del sistema (por decirlo de alguna forma), en Slackware este grupo se llama "wheel" y tambien tiene una entrada en el archivo sudoers, pero está comentada (lo que quiere decir que el sistema la ignora).

Así luce la entrada en archivo sudoers de Slackware
# Uncomment to allow people in group wheel to run all commands # %wheel ALL=(ALL) ALL
Para habilitarla hay que descomentarla (quitarle el # que antecede la segunda linea).

Para editar el archivo y descomentar la linea debes ejecutar como root el siguiente comando
# nano /etc/sudoers
Buscamos la linea indicada arriba y la descomentamos. Para guardar los cambios presionar Ctrl+O y para salir Ctrl+X.

El paso siguiente es proceder a agregar el usuario al grupo wheel
# gpasswd -a misuario wheel
Lo que hace falta después es cerrar la sesión del usuario que acabamos de agregar al grupo "wheel" y al volver a iniciar la sesión ya tendrá el derecho de ejecutar comandos con privilegios elevados por medio de sudo.

Para revocar el permiso de hacer sudo, se elimina a el usuario del grupo "wheel", ejecutando el siguiente comando como root
# gpasswd -d misuario wheel


Un poquito de humor para terminar este artículo


miércoles, 25 de julio de 2012

Firefox 14 en Debian Squeeze 6.0.5


En la presente entrada les explico como instalar correctamente Firefox 14.0.1 en nuestro querido Debian Squeeze 6.0.5. Esta es una instalación manual, sin intermediación del gestor de paquetes de Debian.

Lo primero es descargar Firefox desde Mozilla, al momento de escribir esta entrada la ultima versión era la 14.0.1
$ wget -c http://mirror.us.leaseweb.net/mozilla/firefox/releases/14.0.1/linux-i686/es-ES/firefox-14.0.1.tar.bz2

Vamos a crear un directorio para descomprimir la aplicaciones de Mozilla que utilicemos e instalemos con este método
$ sudo mkdir /opt/mozilla -p

Movemos el archivo descargado a la ubicación creada anteriormente
$ sudo mv firefox-14.0.1.tar.bz2 /opt/mozilla/

Nos desplazamos al directorio recién creado
$ cd /opt/mozilla/

Y ahí descomprimimos el archivo
$ sudo bzip2 -dc firefox-14.0.1.tar.bz2 | sudo tar -xv

Eliminamos el archivo descargado
$ sudo rm firefox-*

Salimos del directorio opt y vamos a nuestro home
$ cd ~

Ahora vamos a crear un enlace a Firefox en bin
$ sudo ln -sf /opt/mozilla/firefox/firefox /usr/bin/firefox

Lo siguiente es crear un lanzador para nuestro nuevo Firefox (vamos a valernos de uno que ya he preparado para ustedes). Con el siguiente comando se descarga y coloca donde debe ir para que les aparezca en el menú de Gnome.
$ wget http://tecnologiasmym.com/blog/downloads/firefox.desktop && sudo mv firefox.desktop /usr/share/applications/

Listo ya tenemos nuestro flamante Firefox 14 instalado.

miércoles, 18 de julio de 2012

Instalar tarjeta de video nVidia en Debian Squeeze


El driver libre para este tipo de controladoras es el Nouveau, el cuál va bastante bien si no se requiere aceleración 3D (La aceleración 3D de Nouveau todavía es muy básica). Este post va orientado a quienes desean utilizar el driver privativo en lugar del driver libre.

Instalando el controlador privativo


Lo primero que vamos a hacer el desactivar el driver Nouveau
# nano /etc/modprobe.d/blacklist.conf

Al final del archivo agregamos la siguiente linea, con la cuál evitaremos que Nouveau se cargue automáticamente al reiniciar el equipo
blacklist nouveau

Para descargarlo en este momento, sin reiniciar el equipo, introduce el siguiente comando
# modprobe -r nouveau

Ahora vamos a remover el driver Nouveau completamente
# apt-get remove xserver-xorg-video-nouveau

Para instalar el driver privativo de nVidia debemos agregar una nueva dirección al sources list
# nano /etc/apt/sources.list

Y al final del archivo agregamos la siguiente linea
deb http://ftp.debian.org/debian/ squeeze main contrib non-free

Actualizamos la lista de paquetes disponibles ejecutando
# apt-get update

Para instalar el driver y unas utilerías de nVidia introduce el siguiente comando
# aptitude install -y nvidia-kernel-$(uname -r) nvidia-glx nvidia-xconfig nvidia-settings
En el comando de arriba "uname -r" es para recuperar la versión de Kernel y lo estamos concatenando al nombre del paquete para instalar el módulo adecuado.

Luego debemos generar el archivo /etc/xorg.conf, para hacerlo automáticamente con la utilería que antes instalamos, introduce el siguiente comando
# nvidia-xconfig

Y listo ahora solo queda reiniciar para que se cargue el nuevo driver, o bien si no tenias la X iniciadas puedes cargar el modulo manualmente, y luego cargar las X
# modprobe nvidia $ startx

Si tienes las X iniciadas primero debes bajarlas, cargar el módulo y levantar nuevamente las X o simplemente reiniciar el equipo.

domingo, 8 de julio de 2012

Aptana Studio 3 en Debian Squeeze

¿Que es Aptana Studio?

Aptana Studio es un (IDE) entorno de desarrollo integrado, es opensource, y está basado en eclipse y desarrollado por Aptana, Inc., puede funcionar bajo Linux, Mac, y Windows. Provee soporte para lenguajes como: Php, Python, Ruby, CSS, Ajax, HTML y Adobe AIR. Además tiene la posibilidad de incluir complementos para nuevos lenguajes y funcionalidades.

Prerequisitos para Instalar Aptana Studio 3:


La versión Standalone requiere el JDK de Sun (Oracle)
Este paquete esta disponible a travez de los repositorios non-free de Squeeze. Por lo que vamos a editar nuestro archivo de lista de fuentes (sources-list).
$ sudo nano /etc/apt/sources.list

A final del archivo debes agregar la siguiente linea y guardar (Ctrl-O, Ctrl-X)
deb http://ftp.us.debian.org/debian/ squeeze main non-free

Actualizamos la lista de paquetes
$ sudo apt-get update

Y finalmente instalamos el Java Developer Kit.
sudo apt-get install sun-java6-jdk

Si quieres instalar todos los componentes de Java puedes usar el siguiente comando (no es necesario).
$ sudo apt-get install sun-java6-jdk sun-java6-plugin sun-java6-fonts
(los paquetes sun-java6-bin , sun-java6-jre están implícitos en el sun-java6-jdk).

Ahora debes verificar cuál es la versión de Java en tu sistema
$ java -version

A continuación la salida esperada. Si no te sale Java(TM), hay que hacer un cambio más.
java version "1.6.0_26" Java(TM) SE Runtime Environment (build 1.6.0_26-b03)

Con el siguiente comando te sale una lista donde puedes digitar el numero de la opción de Java que deseas utilizar. Debes elegir la que está en la ruta “/usr/lib/jvm/java-6-sun/jre/bin/java”.
$ sudo update-alternatives --config java

La versión Eclipse Plug-in requiere lo anterior y Eclipse 3.5
Eclipse 3.5 viene incluido en los repositorios de Debian Squeeze, para instalarlo
$ sudo apt-get install eclipse

¿Como instalar Aptana en Debian Squeeze?

Lo primero es descargar aptana, lo puedes hacer con el siguiente comando.
wget -c http://download.aptana.com/studio3/standalone/3.2.0/linux/Aptana_Studio_3_Setup_Linux_x86_3.2.0.zip

En caso de que el link anterior no funcione, abre la siguiente url en tu browser y descarga la versión Aptana Studio 3.2.0 Linux, x86 (o la arquitectura que corresponda a tu caso)
http://www.aptana.com/products/studio3/download

Para descomprimir el paquete vamos a necesitar unzip, así lo instalamos
$ sudo apt-get install unzip

Ahora descomprimimos el archivo descargado en la carpeta /opt
$ sudo unzip Aptana_Studio_3_Setup_Linux_x86_3.2.0.zip -d /opt/

Luego instalamos la siguiente dependencia
$ sudo apt-get install libwebkitgtk-1.0-0

Descarga del siguiente link el lanzador que he preparado para incluir Aptana en menú
$ wget -c http://mizaqblog.com/downloads/desktop/Aptana%20Studio%203.desktop

Luego debes copiar el lanzador al menú de Gnome, de la siguiente manera
$ sudo cp Aptana\ Studio\ 3.desktop /usr/share/applications/ $ sudo chmod +x /usr/share/applications/Aptana\ Studio\ 3.desktop

Asi luce el lanzador en el menú de Gnome


Node.js en Debian Squeeze

En la presente entrada les dejo los pasos necesarios para descargar, compilar e instalar Node.js en nuestro Debian Squeeze. Node.js está oficialmente en desarrollo, por eso no es normal que las distros ofrezcan un paquete precompilado. Node.js no es un IDE, es un tipo de Maquina Virtual de V8 (entorno de ejecución para JavaScript de Google Chrome), Node.js nos brinda una consola al estilo de Python.

Normalmente JavaScript se ejecuta en el browser. Pero esto es sólo el contexto, JavaScript es un lenguaje "completo", lo que Node.js pretende es brindarnos este otro contexto: nos permite correr código JavaScript en el servidor, fuera del browser.

Para ejecutar el código JavaScript en el servidor, este necesita ser interpretado, esto es lo que hace Node.js.

Además, Node.js viene con muchos módulos útiles, de manera que no tienes que escribir todo de cero, entonces, Node.js es en realidad dos cosas: un entorno de ejecución y un framework.



Node.js es una plataforma basada en V8 el runtime de JavaScript de Google Chrome, orientada al desarrollo rápido y fácil de aplicaciones de red altamente escalables. Node.js utiliza un modelo por eventos sin bloqueo de E/S que hace que sea ligero y eficiente, ideal para aplicaciones de uso intensivo de datos en tiempo real que se ejecutan a través de dispositivos distribuidos.

Instalando Node.js


Para obtener los fuentes de node.js debemos descargarlo directamente desde los repositorios oficiales que hospedados en githut, para hacerlo debemos instalar el sistema de control de versiones git y sus dependencias, aprovechamos e instalamos lo que ocupamos para compilar estas fuentes.
$ sudo apt-get install git-core curl build-essential python openssl libssl-dev

Creamos una carpeta para ahí descargar las fuentes de Node.js
$ mkdir -p ~/node && cd ~/node

Clonamos el repo de Node.js a nuestro equipo (así bajamos las fuentes)
$ git clone https://github.com/joyent/node.git .

Hacemos el checkout de la ultima versión estable
$ git checkout v0.8.1

Creamos el make-file
$ ./configure –openssl-libpath=/usr/lib/ssl

Compilamos
$ make

Nos volvemos root, probamos e instalamos
$ sudo su # make test # make install

Usando Node.js


A continuación les dejo dos de los ejemplos utilizados por el mismo Ryan Dahl (creador de node.js) cuando hace presentaciones, para probarlo guarda el siguiente bloque de código en un archivo llamado miprimer.js
setTimeout(function() { console.log("World!"); }, 2000) console.log("Hello");

Ahora ejecuta el comando
$ node miprimer.js

Otro ejemplo, guarda el siguiente código en un archivo llamado server.js
var http = require("http");
http.createServer(function(request, response) { response.writeHead(200, {"Content-Type": "text/html"}); response.write("Hola Mundo\n"); response.end(); }).listen(8888); console.log("Inicio el servidor web...")

Para probarlo ejecuta este script con node.js
$ node server.js

En otra terminal ejecuta
$ curl localhost:8888

También puede abrir su browser y visitar la url http://localhost:8888

Nota: Si estás utilizando Ruby On Rails y estás obteniendo un error que dice "Could not find a JavaScript runtime", debes saber que instalando node.js se soluciona este error porque instala el entorno de ejecución de JavaScript que necesita Rails.

viernes, 6 de julio de 2012

PostgreSQL 9.1 en Debian Squeeze

En la presente entrada explicaré brevemente como instalar PostgreSQL 9.1 en Debian Squeeze 6.0 desde los Backports.

¿Que son los Backports?

Los Backports son paquetes recompilados de la rama testing (la mayoría) e unstable (en algunos casos solamente, por ejemplo, actualizaciones de seguridad) en un entorno estable para que puedan funcionar sin las nuevas librerías (siempre que sea posible) en una distribución estable de Debian. Los Backports no se puede probar tan extensamente como los paquetes estables de Debian, por lo que se proporcionan tal cuál, con el riesgo de incompatibilidades con otros componentes en Debian estable. Si desea más información haga clic aquí .


Instalando PostgreSQL 9.1

Editar el archivo de los repositorios para agregar la url de los Backports
$ sudo nano /etc/apt/sources.list

Agregar la siguiente linea al archivo anterior y guardamos
deb http://backports.debian.org/debian-backports squeeze-backports main

Actualizar la lista de paquetes
$ sudo apt-get update

Instalar PostgreSQL y pgAdmin
$ sudo apt-get -t squeeze-backports install postgresql-9.1 pgadmin3

Si va a utilizar PostgreSQL con Ruby on Rails deberá instalar los siguientes paquetes
$ sudo apt-get -t squeeze-backports install libpq5 libpq-dev

Cambiar la constraseña al usuario Postgres (a nivel de Sistema Operativo)
$ sudo passwd postgres

Cambiar de usuario (Hacer un switch-user)
$ su postgres

Iniciar linea de comandos de Postgres
$ psql

Desde psql, cambiar la contraseña al usuario postgres (a nivel de motor de Base de Datos)
postgres=# ALTER USER postgres WITH PASSWORD 'nueva_contraseña';

Salir de psql
postgres=# \q

Habilitar el servidor de PostgreSQL para aceptar conexiones en la red local:

De manera predeterminada el servidor de PostgreSQL solamente escuchara las peticiones del localhost, para habilitar la escucha de otras redes debemos incluirlas en el archivo de configuración que existe para este propósito.
$ sudo nano /etc/postgresql/9.1/main/pg_hba.conf

Debemos buscar el siguiente bloque de configuraciones y agregar lo que esta en negrita:
# IPv4 local connections: host all all 127.0.0.1/32 md5 host all all 192.168.1.0/24 trust

jueves, 5 de julio de 2012

Ruby 1.9.3 en Debian Squeeze

La presente entrada es un How-to para instalar Ruby 1.9.3 en Debian Squeeze


Instalando Ruby


Crear una carpeta para los fuentes
$ mkdir -p ~/src/ruby

Nos movemos al directorio
$ cd ~/src/ruby

Descargarmos ruby
$ wget -c http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p194.tar.bz2

Descomprimimos el archivo descargado
$ tar xvfj ruby-1.9.3-p194.tar.bz2 -C ~/src/ruby

Nos movemos al directorio descomprimido
$ cd ~/src/ruby/ruby-1.9.3-p194

Preparamos el make-file
$ ./configure --enable-shared --prefix=/opt/ruby/1.9.3-p194 2>&1 | tee log1_configure.txt

Compilamos
$ make all 2>&1 | tee log2_build.txt

Instalamos
$ sudo make test 2>&1 | tee log3_test.txt
$ sudo make install 2>&1 | tee log4_install.txt

Creamos un enlace simbólico
$ cd /opt/ruby
$ sudo rm -f active && ln -sf 1.9.3-p194 active

Agregamos el nuevo Ruby al path
$ cp ~/.bashrc ~/.bashrc-backup
$ echo '#Ruta del nuevo Ruby' >> ~/.bashrc
$ echo 'export PATH="/opt/ruby/active/bin:$PATH"' >> ~/.bashrc
$ echo 'export MANPATH="/opt/ruby/active/share/man:$MANPATH"' >> ~/.bashrc

Ahora vamos a sobre-escribir el link de Ruby1.8 para que las aplicaciones que siguen preguntando por Ruby1.8 sean redirigidas a Ruby1.9.3

Pero antes le hacemos un backup
$ sudo mv /usr/bin/ruby1.8 /usr/bin/ruby1.8-backup

Si existe el enlace "ruby" igual lo respaldamos
$ sudo mv /usr/bin/ruby /usr/bin/ruby-backup

Ahora creamos el nuevo enlace simbolico
$ sudo ln -sf /opt/ruby/1.9.3-p194/bin/ruby /usr/bin/ruby1.8

Si existía el enlace "ruby" lo re-creamos apuntando a ruby 1.9.3
$ sudo ln -sf /opt/ruby/1.9.3-p194/bin/ruby /usr/bin/ruby
Mizaq's Blog

Entradas populares