Joko Workstation

Joko Workstation

Esta paǵina es una documentación de cómo crear un ambiente de trabajo para los contribuyentes de Joko.

= Instalación del Sistema Operativo =

Se opta por utilizar el sistema operativo Linux Mint MATE Edition o bien Ubuntu MATE Edition.

Se necesita el programa unetbootin para bootear desde un pendrive y la imagen ISO del sistema operativo.

Obs: antes de intentar ejecutar el programa unetbootin, en caso de estar en un linux, asegurarse de marcarlo como ejecutable: chmod +x /directorio/{nombreArchivo}

Luego se ejecuta el programa unetbootin desde una pc en donde ya se copio el ISO, el programa es muy sencillo se elige la unidad usb que se hará booteable y la imagen.

En caso de hacerlo desde Windows fijarse si el usb se formateo con el sistema de archivos FAT32, en caso de no reconocer el dispositivo usb intentar con un usb distinto, de preferencia de otro fabricante.

Después se lleva el usb a la nueva pc, se bootea y se instala el sistema operativo. Encryptar directorio del usuario, en caso de que la opcion este disponible.

Hasta aquí el tiempo de hacer toda esta tarea es de 40 minutos aproximadamente.

Instalar Herramientas de Development/Power user
Estas herramientas utilizamos normalmente para tareas de apoyo a un Developer: Keepassx, Postgres 9.x, Pgadmin, VirtualBox, Java 7, Vagrant, Meld, Chromium Browser

Se puede buscar en el gestor de software uno por uno e instalarlas o por lineas de comando hacerlas todas de una vez, escribiendo todos los nombres de los paquetes en un solo comando.

Ubuntu 14.04 o derivados - Instalar todo de una vez por linea de comando
sudo apt-get install keepassx postgresql pgadmin3 pgadmin3-data virtualbox virtualbox-dkms virtualbox-qt vagrant openjdk-7-jre openjdk-7-jre-headless openjdk-7-jre-lib openjdk-7-jdk libxt-dev \ openjdk-7-demo openjdk-7-source visualvm meld chromium-browser gitk git-core maven geany guake \ p7zip-full rar unrar zip wget openvpn skype

Ubuntu 16.04 o derivados - Instalar todo de una vez por linea de comando
sudo apt install vim keepassx postgresql pgadmin3 pgadmin3-data \ openjdk-8-jre openjdk-8-jre-headless openjdk-8-jdk visualvm meld maven git \ geany p7zip-full rar unrar zip wget openvpn

Spring Tools Suite
Se puede descargar de la página oficial de Spring Tools Suite

Cuando se tiene el archivo spring-tool-suite-3.6.4.RELEASE-e4.4.2-linux-gtk-x86_64.tar.gz (de la versión correspondiente) se deberán seguir estos pasos:

1. Extraer los archivos con un click derecho y "Extraer aqui"

2. Abrir la carpeta sts-bundle extraida.

3. Abrir la carpeta sts-3.6.4.RELEASE y ejecutar STS

Configuración de workspace
Cada vez que se crea un workspace para trabajar con código Java, deben aplicarse estas configuraciones para:
 * 1) Formateo de código
 * 2) Findbugs rules

Configuración de Findbugs en Spring Tools Suite
1. Instalación En el STS, ir hasta Help/Eclipse Marketplace e instalar el Findbugs

2. Importar Preferencia En el STS, ir hasta File/Import, y buscar la opción Preferences.

Se abrirá un popup y en la opción From preference file, agregar el archivo .epf, clonado anteriormente, a tools-config/eclipse.

Hacer check sobre la opción Findbugs Preferences y finalizar.

Para confirmar que fue exitosa la instalación, agregar la perspectiva FindBugs.

3. Correr la herramienta Click derecho sobre el proyecto y luego Findbugs/Findbugs.

OBS.: Antes de cada commit, es necesario realizar este paso, a fin de eliminar los Findbugs problem que sean de tipo Scary, Scariest y Troubling.

4. Configuración de Sonar En el settings de maven de cada proyecto, se debe agregar la configuración que se encuentra del Sonar, dentro del tag Profiles

7. Plugins que se deben instalar


 * Apache Equals and Hashcode. Disponible para Eclipse en el market place, y para el IntelliJ en la lista de plugins. Esto genera métodos de baja complejidad ciclomática, como es nuestra recomendación.

Configuración de Thunderbird
Thunderbird ya viene instalado en el sistema operativo, listo para usarse.

Se abre la aplicación y la primera vez aparecerá esta ventana:



Elegir la opción Saltarse este paso y usar mi cuenta de correo existente

Si no sale esta ventana, entonces buscar el menu Preferencias > Configuración de Cuentas > Agregar Cuenta de Correo.

Luego saldrá la siguiente ventana, donde se deben rellenar los datos nombre, correo, password. Presionar Continuar.



Y por último, si da un error, configurar manualmente como se ve en la imagen. Opción Manual Config.

El IMAP y SMTP, en caso de seguir con error probar colocar directamente el IP y NO EL NOMBRE DEL SERVIDOR.



Gestionar correo desde Gmail
Para poder gestionar los correos de otro servidor por medio de Gmail hay que ingresar a las configuraciones de Gmail (opción Descargar correo desde otras cuentas) y se deben seguir los siguientes pasos:

Paso 01:



Paso 02:



Paso 03:



Instalar pwgen
sudo apt-get install pwgen

Opcione mas usadas de pwgen:

-O, -no-numerals: No incluye números en las contraseñas generadas.

-A, -no-capitalize: No incluye letras mayúsculas en las contraseñas generadas.

-B, -ambiguous: No incluye ningun caracter que pueda llamar a la confusión (como el 1 y la l, O y 0)

-n, -numerals: Inserta al menos un número en la contraseña generada

-s, -secure: Genera una contraseña totalmente aleatoria, muy dificil de memorizar.

Ejemplo de uso pwgen 12 3

Generará 3 contraseñas de 12 caracteres

pwgen -Bny 9 1

Generará una contraseña de 9 caracteres, que no sean ambiguos, con al menos 1 número y con al menos1 caracter especial.

Luego se debe usar esta contraseña generada en el usuario que se creará.

Creación de un usuario administrador
El nombre del usuario debe ser sysadmin, con una contraseña generada con pwgen de 12 caracteres preferentemente.

Se puede hacer por interfaz gráfica en la aplicación Ajustes de usuarios > Añadir.

Se elige el nombre, tipo de cuenta, y se activa.

También se puede hacer desde la terminal.

sudo adduser sysadmin

Y pedirá la nueva contraseña que utilizará el usuario, y se deberá contestar algunas preguntas (nro. de teléfono, etc.). Para otorgarle permisos de administrador:

sudo adduser sysadmin root

Instalación de Dropbox en Linux Mint
Ingresar a la página de Dropbox, y descargar la versión que se necesita.

Una vez terminado, ejecutamos el archivo descargado, instalamos el paquete y abrimos el drop desde el Menú > Aplicaciones > Internet para vincularlo a una cuenta o crear una cuenta.

Ver MAC Address

$ ifconfig eth0     Link encap:Ethernet  direcciónHW bc:ee:7b:9a:fb:e8 Direc. inet:10.1.1.164 Difus.:10.1.255.255  Másc:255.255.0.0 Dirección inet6: fe80::beee:7bff:fe9a:fbe8/64 Alcance:Enlace ACTIVO DIFUSIÓN FUNCIONANDO MULTICAST MTU:1500  Métrica:1 Paquetes RX:247613 errores:0 perdidos:0 overruns:0 frame:0 Paquetes TX:124899 errores:0 perdidos:0 overruns:0 carrier:0 colisiones:0 long.colaTX:1000 Bytes RX:313264920 (313.2 MB) TX bytes:11170572 (11.1 MB)

En el ejemplo la dirección MAC es la referenciada como direccionHW, informar al administrador para asignar un IP fijo.

Esta tarea final tambien se puede realizar en paralelo a otra. Duracion de 10 minutos. Tiempo total para tener una estacion de trabajo 2 horas.

Programas recomendados
Meld: Comparador de archivos y directorios.

Krusader: es un avanzado administrador de archivos con paneles gemelos (estilo commander) para KDE, similar a Midnight Commander (Linux) o Total Commander (Windows), con muchas utilidades.

Guake: es un terminal desplegable para entorno de escritorio GNOME.

Conky: software de monitoreo del sistema.

Htop: visor de procesos interactivo.

Fslint: es una utilidad que permite encontrar y limpiar: archivos duplicados, carpetas vacías, paquetes instalados, y mas.

K3B: es una de las interfaces gráficas más completas que existen para la grabación de discos compactos y DVD.

Nethogs: supervisa el trafico de red de las aplicaciones.

Agregar una variable de entorno en linux mint
Dentro de cada directorio home, Ej: /home/usuarioprueba existe un archivo .bashrc, debemos colocar el siguiente comando:

export MY_VARIABLE=1

Con esto, configuramos una variable local, el cual se incializará cada vez que el usuarioprueba ingrese.