Instalar Java (Sun) en Ubuntu

Hay varias formas para poder instalar una máquina virtual de Java en (K)Ubuntu, aquí voy a explicar cómo hacerlo descargando los ficheros binarios (.bin) e instalarlos usando la consola.

Yo he usado un procedimiento que resumo aquí:

Pasos a seguir:

  1. Nos descargamos los ficheros .bin de la web de Java de Sun. En este caso yo he usado la versión JRE (Java Runtime Environment) de Java, puede que necesites la versión JDE (Java Development Environment) si lo que vas a hacer es desarrollar aplicaciones en Java, ya que trae más cosas, como el compilador…etc etc.
  2. Nos vamos al directorio donde hemos descargado el fichero (Será un fichero del estilo «jre-6-linux-i586.bin«)
  3. $ cd <directorio>

  4. Le damos permisos de ejecución al fichero.
  5. $ chmod +x jre-6-linux-i586.bin

  6. Lo instalamos
  7. $ sudo ./jre-6-linux-i586.bin

  8. Seguimos las instrucciones que van apareciendo en pantalla, que son 2 o 3.
  9. Movemos la carpeta creada después de la instalación (llamada jre1.6.0) a una más apropiada:
  10. $ sudo mv jre1.6.0 /usr/lib/jvm/

  11. Seteamos el nuevo Java como una de las alternativas de java:
  12. $ sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jre1.6.0/bin/java" 1

  13. Ahora seteamos la nueva alternativa como la real de Java:
  14. $ sudo update-alternatives --set java /usr/lib/jvm/jre1.6.0/bin/java

  15. Para comprobar si tenemos correctamente instalada la versión de Java…
  16. $ java -version

Nos debería de aparecer algo así:

java version "1.6.0"
Java(TM) SE Runtime Environment (build 1.6.0-b105)
Java HotSpot(TM) Client VM (build 1.6.0-b105, mixed mode)

Instalar la versión completa de Vim en Ubuntu

Vim (acrónimo del inglés Vi IMproved, Vi Mejorado) es un potente y avanzado editor de texto que posee su propia línea de comandos, sucesor del antiguo Vi.

La versión del editor Vim instalada por defecto en Ubuntu no incluye todas las funcionalidades de la versión completa, para acceder a ellas tan sólo hace falta instalar el paquete vim-full de los repositorios oficiales de Ubuntu.

$ sudo apt-get install vim-full

Actualización (2012/11/11):

$ sudo apt-get install vim

Con esto ya tendríamos acceso a la versión completa de este fantástico editor.

Personalizar el mensaje de bienvenida SSH

A la hora de logearnos en un servidor SSH, éste nos muestra un mensaje, llamado banner de bienvenida, que suele mostrarse antes de pedir la contraseña.

Una vez nos hayamos logeado correctamente, el servidor muestra otro mensaje, que también se puede configurar.

Configuración del banner de bienvenida:

etc-issue.net

$ sudo vi /etc/issue.net

En ese fichero editamos el mensaje, y lo guardamos. A continuación tenemos que editar el siguiente fichero de configuración:

$ sudo vi /etc/ssh/sshd_config

En éste, tenemos que buscar la línea «Banner /etc/issue.net«, y descomentarla, o crearla si no existe.

Configuración del mensaje posterior al logeo satisfactorio:

var-run-motd

Simplemente tenemos que editar el siguiente fichero:

$ sudo vi /var/run/motd

En el que escribiremos el mensaje que queremos que aparezca…

Ahora si queremos que los cambios hechos tengan efecto de inmediato, reiniciamos el servidor SSH.

$ sudo /etc/init.d/ssh restart

Aunque he comprobado que este paso no es necesario.

Activar la cuenta root en (K)Ubuntu

En principio (K)Ubuntu trae por defecto desactivada la cuenta de root, por motivos de seguridad. Además el sistema es completamente funcional ya que para realizar tareas de súperusuario se utiliza «$ sudo comando» y te pide la contraseña de root definida en la instalación.

por ejemplo:

$ sudo apt-get install update

En cualquier caso, para activar la cuenta root (No recomendable) en (K)Ubuntu se hace de la siguiente manera:

$ sudo -u root passwd

ó

$ sudo passwd

A continuación te pedirá el pass del usuario que has creado anteriormente, y después de eso te pedirá el nuevo pass para el root.

Con esto ya estamos en condiciones de hacer «su –» para entrar a nuestra cuenta de root.

Existe además otra forma para ejecutar comandos como root, o mejor dicho, para cambiar al usuario root. Se trata de usar una combinación entre el comando sudo y el comando su. Si los usamos conjuntamente podremos pasar a usuario root sin tener que usar, y ni siquiera conocer, la password de root.

Se usa de este modo:

$ sudo su -

La opción ‘-‘ nos permite adquirir las variables de entorno del usuario root (a veces puede ser importante).

Como curiosidad administrativa, puedes ver un registro de las actividades que se realizan con el comando sudo en /var/log/auth.log, lo cual puede ayudar a administrar tu sistema eficientemente.

Una vez terminadas las tareas que necesitábamos realizar, es conveniente volver a desactivar el super usuario con el flag -l (–lock):

Finalmente, para desactivar (Recomendable) la cuenta de root (súper usuario) con el flag «-l (–lock)» se debe ejecutar lo siguiente:

$ sudo passwd -l root

Conversión de Fechas en Unix (Timestamps – Fecha Normal)

A veces es útil poder convertir una fecha dada en formato timestamp de Unix, a un formato más legible. Para ello podemos usar el comando date con la siguiente orden:

$ date --utc --date "1970-01-01 X sec" "+%c"

donde X son los segundos que se quieren convertir a un formato legible.

Actualización

Como indica Obe en un comentario, también se puede extraer el timestamp, a partir de una fecha:

$ date +%s -d"1970-01-01 01:00"

Gracias por vuestros comentarios.

Comandos interesantes de Unix

Llevo ya casi un mes trabajando como becario en Orange y he aprendido entre otras cosas, comandos de Unix que no conocía anteriormente.

Los más interesantes son los siguientes:

  • netcat: Programa para poder transferir datos entre dos máquinas a través de la red.
  • tail -f: Con este conseguimos obtener las actualizaciones de un fichero, y que se muestren por la salida estándar. Especialmente útil para parsear logs en tiempo real.
  • awk: Este comando ofrece amplias posibilidades. Una de ellas es la de usarlo como parseador de campos.
  • zcat: Igual que cat, pero diseñado para utilizarlo con ficheros comprimidos.
  • zless: Muy similiar a zcat, pero con las peculiaridades de less.
  • date +%s: Para mostrar el timestamp de la hora en formato Unix.
  • bg: Para hacer que una ejecución de un programa pase a background y así poder trabajando en la misma consola, sin miedo a que se pueda cerrar, y detener el programa.
  • nohup: Con este comando conseguimos ejecutar lanzar procesos sin que se asocien a la terminal en la que estamos trabajando. De modo que aunque cerremos la terminal, el proceso seguirá corriendo.

Ejemplos:

netcat -l -p 9999 | ./parser.pl (Para escuchar en el puerto 9999, y redireccionar la salida a un script).

tail -q -f core* | netcat ampre01 9999 (Siendo ampre01 la máquina que está escuchando, en el puerto 9999, este comando envía las actualizaciones (-f) de los ficheros core* (-q para que no se muestre el nombre del fichero) a la máquina que está escuchando.

ps -ef | awk ‘{print $1}’ | uniq (Muestra los usuarios que tienen procesos corriendo en la máquina).