viernes, 24 de octubre de 2025

Instalar fuentes en Linux Ubuntu

 por consola:

 instala el paquete de fuentes microsoft ej. arial

sudo apt-get update
sudo apt-get install ttf-mscorefonts-installer
 
en casos en que tu app lance falla por no encontrar alguna fuente ms 
👍 

 

lunes, 13 de junio de 2022

Header demasiado largo en una solicitud get para una app web

Si para una solicitud web de tipo get se retorna un mensaje que indica que el header de la cabecera es demasiado largo, como este:

Error parsing HTTP request header Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level. java.lang.IllegalArgumentException: Request header is too large

Y si estamos con Tomcat podemos modificar o agregar el parámetro que resuelve esto en el archivo conf/server.xml

agregando al tag del conector http puerto 8080, en mi caso tomcat version 9.0.63 el tag original es:

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

Se agrega el valor máximo en kilobytes del header, ej: maxHttpHeaderSize="65536" para 65 megas

quedando este tag de la siguiente forma:

<Connector port="8080" protocol="HTTP/1.1" maxHttpHeaderSize="65536" connectionTimeout="20000" redirectPort="8443" />

Luego reiniciar tomcat y probar.





viernes, 23 de abril de 2021

jueves, 22 de abril de 2021

para saber versión de linux

 slack@ubuntu:~$ lsb_release -a

No LSB modules are available.

Distributor ID: Ubuntu

Description: Ubuntu 16.04.6 LTS

Release: 16.04

Codename: xenial


lunes, 25 de enero de 2021

Agregar jar a proyecto con maven

Cuando tenemos un jar y lo queremos agregar a nuestro proyecto maven, primero debemos agregarlo al repositorio maven:

ejecutando el comando maven por consola, ejemplo:

mvn install:install-file -Dfile=/home/slack/desarrollo/SGCXerox_bancodechile/lib/accbchile.jar -DgroupId=cl.xerox -DartifactId=accbchile -Dversion=2.0 -Dpackaging=jar

Donde:

-Dfile= se usa para indicarle a Maven donde está el JAR que queremos añadir al repositorio local.

-DgroupId= indica el ID del grupo al cual pertenece la librería. debe ser el mismo dato del groupId de nuestro proyecto (generalmente es el package)

-DartifactId= permite establecer el nombre que tendrá la dependencia o librería dentro del repositorio.

-Dversion= configura la versión que tendrá dicha librería o dependencia.

-Dpackaging= indica el formato de la libreria, en este caso y generalmente es jar


La ejecución del comando anterior nos debería indicar que pudo agregarlo satisfactoriamente (BUILD SUCCESS), ej:

[INFO] Scanning for projects...

[INFO] ------------------------------------------------------------------------

[INFO] Building SGC-Xerox Spring MVC Application 3.5.0

[INFO] ------------------------------------------------------------------------

[INFO] --- maven-install-plugin:2.5.2:install-file (default-cli) @ SGCXerox ---

[INFO] pom.xml not found in accbchile.jar

[INFO] Installing /home/slack/desarrollo/SGCXerox_bancodechile/lib/accbchile.jar to /home/slack/.m2/repository/cl/xerox/accbchile/2.0/accbchile-2.0.jar

[INFO] Installing /tmp/mvninstall4036587407514478512.pom to /home/slack/.m2/repository/cl/xerox/accbchile/2.0/accbchile-2.0.pom

[INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESS

[INFO] ------------------------------------------------------------------------

[INFO] Total time: 0.941 s

[INFO] Finished at: 2021-01-25T10:20:59-03:00

[INFO] Final Memory: 17M/150M


Y ahora que ya tenemos el nuevo jar en el repositorio, lo agregamos al archivo pom del proyecto:

<dependency>
    <groupId>org.codehaus.groovy</groupId>
    <artifactId>groovy-all</artifactId>
    <version>1.5.5</version>
</dependency>

Y ahora podemos compilar y comprobar la función en el proyecto, suerte !

martes, 3 de noviembre de 2020

Escaneador de vulneravilidades Nessus

Baje nessus para escanear una app que tengo en tomcat 9.0.37 corriendo con java 8, una ves descargado e instalado el paquete "Nessus-8.12.1-debian6_amd64.deb" en ubuntu 16.04 server. 

se debe iniciar el servicio con el comando apuntando a la ruta del archivo nessusd

en mi caso:

slack@ubuntu:~/programas/argouml-0.34$ sudo /opt/nessus/sbin/nessusd

nessusd (Nessus) 8.12.1 [build 20253] for Linux

Copyright (C) 1998 - 2020 Tenable, Inc.

luego de unos segundos deberíamos poder acceder a la url web por defecto:

https://localhost:8834/

donde el software continuara descargando y configurando plugins para completar la instalación

luego se tendrá acceso a la consola web donde en los menús se encuentran las funciones, configuraciones de escaneo y detección de vulnerabilidades, tanto del una pagina web como de una ip. 



martes, 25 de febrero de 2020

limpiar jbpm con ant - install.demo


comando : ant clean.demo

con esto se limpia el proyecto jbpm-instaler-version, se eliminan directorios de despliegue

slack@ubuntu:~/programas/jbpm-installer-7.32.0.Final$ ant clean.demo
Buildfile: /home/slack/programas/jbpm-installer-7.32.0.Final/build.xml

clean.jboss:
   [delete] Deleting directory /home/slack/programas/jbpm-installer-7.32.0.Final/wildfly-14.0.1.Final

check.clean.repository:

clean.jboss.repository:
   [delete] Deleting directory /home/slack/programas/jbpm-installer-7.32.0.Final/.niogit
   [delete] Deleting directory /home/slack/programas/jbpm-installer-7.32.0.Final/.niogit-caseapp
   [delete] Deleting directory /home/slack/programas/jbpm-installer-7.32.0.Final/.index
   [delete] Deleting directory /home/slack/programas/jbpm-installer-7.32.0.Final/.security
   [delete] Deleting directory /home/slack/programas/jbpm-installer-7.32.0.Final/repositories
   [delete] Deleting: /home/slack/programas/jbpm-installer-7.32.0.Final/default-kieserver.xml

check.clean.eclipse.workspace:

clean.eclipse:

clean.generated.ddl:

clean.db:
   [delete] Deleting: /home/slack/jbpm-db.h2.db

clean.demo:

BUILD SUCCESSFUL
Total time: 0 seconds


Luego si queremos volver a trabajar con el entorno deberemos primero ejecutar el install, tal como la primera ves

comando : ant install.demo.noeclipse

slack@ubuntu:~/programas/jbpm-installer-7.32.0.Final$ ant install.demo.noeclipse
Buildfile: /home/slack/programas/jbpm-installer-7.32.0.Final/build.xml

download.jboss.check:
     [echo] Checking JBoss AS download ...

download.jboss:

install.jboss:
    [unzip] Expanding: /home/slack/programas/jbpm-installer-7.32.0.Final/lib/jboss-wildfly-14.0.1.Final.zip into /home/slack/programas/jbpm-installer-7.32.0.Final

download.db.driver.check:
     [echo] Checking if db driver jar has been downloaded ....//db/driver/h2-1.3.168.jar

download.db.driver:

install.db.files:

download.jBPM.console.check:
     [echo] Checking jBPM console download ...

download.jBPM.console:

install.configuration.into.jboss:
     [copy] Copying 1 file to /home/slack/programas/jbpm-installer-7.32.0.Final/wildfly-14.0.1.Final/standalone/configuration
     [copy] Copying 1 file to /home/slack/programas/jbpm-installer-7.32.0.Final/wildfly-14.0.1.Final/standalone/configuration
     [copy] Copying 1 file to /home/slack/programas/jbpm-installer-7.32.0.Final/wildfly-14.0.1.Final/standalone/configuration
     [copy] Copying 1 file to /home/slack/programas/jbpm-installer-7.32.0.Final/wildfly-14.0.1.Final/standalone/configuration

install.jBPM-console.into.jboss:
     [copy] Copying 1 file to /home/slack/programas/jbpm-installer-7.32.0.Final/wildfly-14.0.1.Final/standalone/deployments

download.jBPM.casemgmt.check:
     [echo] Checking jBPM case mgmt console download ...

download.jBPM.casemgmt:

install.jBPM-casemgmt.into.jboss:
     [copy] Copying 1 file to /home/slack/programas/jbpm-installer-7.32.0.Final/wildfly-14.0.1.Final/standalone/deployments

download.kie.server.check:
     [echo] Checking KIE Server download ...

download.kie.server:

install.kie-server.into.jboss:
     [copy] Copying 1 file to /home/slack/programas/jbpm-installer-7.32.0.Final/wildfly-14.0.1.Final/standalone/deployments

install.demo.noeclipse:

BUILD SUCCESSFUL
Total time: 3 seconds

jueves, 19 de diciembre de 2019

Query HQL consulta entre fechas


En el daoHibernate implemente el siguiente método para consultar los registros de una base de datos mediante POJO con Hibernate 4 y Spring 4 pasando como parámetro dos fechas

@Override
public List getProcesosByFechaDesdeAndFechaHasta(Timestamp fechaDesde, Timestamp fechaHasta) {
log.info("entering method " + fechaDesde + " " + fechaHasta);
List list = getSession().createQuery("FROM ProductoProceso AS p WHERE p.tmsCreated BETWEEN :requesteddate AND :agreeddate ")
.setParameter("requesteddate", fechaDesde).setParameter("agreeddate", fechaHasta).list();
return list;
}


suerte !

Refrescar pagina cada cierto tiempo


hola, hace tiempo q no escribo y qui algo practico,

entre las etiquetas <head> .. </head> colocar el siguiente tag :

<meta http-equiv=»refresh» content=»10″ />

esto actualiza la pagina cada 10 segundos

suerte!

martes, 4 de junio de 2019

Instalando y configurando Docker en Ubuntu 16.04 server lts

Bueno a estas alturas ya no tenemos donde instalar nuestras apps Web, esta saturado de fierros y no hay mas espacio ni tiempo para la implementación costosa que eso requiere, tod evoluciona rapido y para los developers tambien, por lo tanto han aparecido después de las maquinas virtuales lo famosos contenedores. los cuales proveen del entorno necesario para correr nuestras apps sin necesidad de tener un sistema operativo o maquina virtual, ni tampoco tener una plataforma de sistema determinada.

Docker entonces nos ahorra esa pega de configuraciones etc etc. y docker nos provee de todo lo necesario, modularidad, escalabilildad, seguridad, consistencia, aislamiento, etc.

Vamos a instalar una app web para tomcat 7, osea un archivo .war que contiene una app desarrollada en JEE con spring y patron MVC

Entonces vamos a preparar nuestro entorno docker, veamos que sistema tenemos :

slack@ubuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.2 LTS
Release: 16.04
Codename: xenial

ejecutamos el update para actualizar nuestros paquetes de software y repositorios,

slack@ubuntu:~$ sudo apt-get update
Ign:1 http://dl.google.com/linux/chrome/deb stable InRelease
Obj:2 http://dl.google.com/linux/chrome/deb stable Release
Des:4 http://security.ubuntu.com/ubuntu xenial-security InRelease [109 kB]                                               Obj:5 http://archive.canonical.com/ubuntu xenial InRelease                                                                         Obj:6 http://archive.ubuntu.com/ubuntu xenial InRelease                              
Des:7 http://archive.ubuntu.com/ubuntu xenial-updates InRelease [109 kB]            
Obj:8 https://deb.nodesource.com/node_10.x xenial InRelease      
Des:9 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages [964 kB]          
Des:10 http://archive.ubuntu.com/ubuntu xenial-updates/main i386 Packages [829 kB]                             Des:11 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages [750 kB]                     Des:12 http://archive.ubuntu.com/ubuntu xenial-updates/universe i386 Packages [685 kB]                       Descargados 3.446 kB en 25s (134 kB/s)                                                                                                       Leyendo lista de paquetes... Hecho

instalamos los prerequisitos:

slack@ubuntu:~$ sudo apt-get install \
>     apt-transport-https \
>     ca-certificates \
>     curl \
>     gnupg-agent \
>     software-properties-common
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias    
Leyendo la información de estado... Hecho
apt-transport-https ya está en su versión más reciente (1.2.31).
ca-certificates ya está en su versión más reciente (20170717~16.04.2).
curl ya está en su versión más reciente (7.47.0-1ubuntu2.13).
software-properties-common ya está en su versión más reciente (0.96.20.8).
Se instalarán los siguientes paquetes adicionales:
  gnupg2
Paquetes sugeridos:
  gnupg-doc parcimonie xloadimage
Se actualizarán los siguientes paquetes:
  gnupg-agent gnupg2
2 actualizados, 0 nuevos se instalarán, 0 para eliminar y 761 no actualizados.
Se necesita descargar 995 kB de archivos.
Se utilizarán 0 B de espacio de disco adicional después de esta operación.
¿Desea continuar? [S/n] S
Des:1 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 gnupg-agent amd64 2.1.11-6ubuntu2.1 [240 kB]
Des:2 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 gnupg2 amd64 2.1.11-6ubuntu2.1 [755 kB]
Descargados 995 kB en 5s (174 kB/s)
(Leyendo la base de datos ... 312021 ficheros o directorios instalados actualmente.)
Preparando para desempaquetar .../gnupg-agent_2.1.11-6ubuntu2.1_amd64.deb ...
Desempaquetando gnupg-agent (2.1.11-6ubuntu2.1) sobre (2.1.11-6ubuntu2) ...
Procesando disparadores para man-db (2.7.5-1) ...
Configurando gnupg-agent (2.1.11-6ubuntu2.1) ...
(Leyendo la base de datos ... 312021 ficheros o directorios instalados actualmente.)
Preparando para desempaquetar .../gnupg2_2.1.11-6ubuntu2.1_amd64.deb ...
Desempaquetando gnupg2 (2.1.11-6ubuntu2.1) sobre (2.1.11-6ubuntu2) ...
Procesando disparadores para man-db (2.7.5-1) ...
Procesando disparadores para install-info (6.1.0.dfsg.1-5) ...
Configurando gnupg2 (2.1.11-6ubuntu2.1) ...

Configuramos y verificamos el certificado :

slack@ubuntu:~$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
OK
slack@ubuntu:~$ sudo apt-key fingerprint 0EBFCD88
pub   4096R/0EBFCD88 2017-02-22
      Huella de clave = 9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid                  Docker Release (CE deb) <docker@docker.com>
sub   4096R/F273FCD8 2017-02-22

Agregamos el repositorio Docker versión estable:

slack@ubuntu:~$ sudo add-apt-repository \
>    "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
>    $(lsb_release -cs) \
>    stable"

Hacemos un nuevo update del sistema, vemos que nos detecta el repo de Docker :

slack@ubuntu:~$ sudo apt-get update
Obj:1 https://deb.nodesource.com/node_10.x xenial InRelease                                                                   Des:2 https://download.docker.com/linux/ubuntu xenial InRelease [66,2 kB]                                             Des:3 https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages [8.482 B]                         Ign:4 http://dl.google.com/linux/chrome/deb stable InRelease                                                                     Obj:5 http://dl.google.com/linux/chrome/deb stable Release                                                                         Des:7 http://security.ubuntu.com/ubuntu xenial-security InRelease [109 kB]                                               Obj:8 http://archive.canonical.com/ubuntu xenial InRelease                                                                         Obj:9 http://archive.ubuntu.com/ubuntu xenial InRelease                                                                             Obj:10 http://archive.ubuntu.com/ubuntu xenial-updates InRelease                                                             Descargados 184 kB en 8s (22,3 kB/s)                                                                                                           Leyendo lista de paquetes... Hecho

Instalamos los paquetes de Docker :

slack@ubuntu:~$ sudo apt-get install docker-ce docker-ce-cli containerd.io

Verificamos la instalación y su versión :

slack@ubuntu:~$ docker --version
Docker version 18.09.6, build 481bc77

Hasta aquí vemos que hemos instalado con éxito la versión 18 de Docker, ahora veremos como utilizar Docker para desplear un WAR jee en nuestro contenedor Docker.


Revisar la siguiente documentación en caso de instalación de ciertas versiones y des-instalación de nuestros paquetes, luego de esta revisión hice purge de los paquetes instalados y ejecute el siguiente comando :

slack@ubuntu:~$ sudo apt-get install docker-ce=5:18.09.6~3-0~ubuntu-xenial docker-ce-cli=5:18.09.6~3-0~ubuntu-xenial containerd.io

slack@ubuntu:~$ docker --version

Docker version 18.09.6, build 481bc77


Ahora instanciamos una aplicación hello world en nuestro contenedor :

slack@ubuntu:~$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:0e11c388b664df8a27a901dce21eb89f11d8292f7fca1b3e3c4321bf7897bffe
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/


Y huala !!


jueves, 23 de mayo de 2019

Consultando por Timestamp HQL

Es común en aplicaciones la consulta por fechas, entre fechas o por una fecha especifica, en este ejemplo se consulta por un atributo de tipo Timestamp sql, de forma exacta.

Hibernate nos facilita esta query de la siguiente forma en la capa DaoHibernate de una aplicación con Spring de 3 capas (web, service y dao)

consulta desde la clase FormController del package webapp.controller. :

Archivo arch = archivoManager.getArchivoByTMS(skuToRemove.getFechaCreacion());

desde el package service, pasando por la interface archivoManager a la clase archivoManagerImpl

public Archivo getArchivoByTMS(Timestamp fechaCreacion) {
return archivoDao.getArchivoByTMS(fechaCreacion);
}

y desde la capa Dao, en la clase ArchivoDaoHibernate, pasando por la interface ArchivoDao :

public Archivo getArchivoByTMS(Timestamp fechaCreacion) {
        return (Archivo)getSession().createCriteria(Archivo.class).add(Restrictions.eq("fechaCreacion", fechaCreacion)).list().get(0);
}

Se observa que la query HQL, compara de la clase Archivo la fecha exacta de tipo Timestamp con :

Restrictions.eq("fechaCreacion", fechaCreacion)

Retornando el archivo exacto que tiene esa fecha. Hibernate es fácil y provee uso simple de Pojos.

saludos




martes, 7 de noviembre de 2017

Iniciar servicio al arrancar Linux


Cuando necesitemos arrancar un servicio automáticamente al iniciar el sistema (Linux Ubuntu), podemos hacerlo de varias formas, sin embargo esta es la que me funciono para arrancar Apache-Tomcat automáticamente al reiniciar el sistema.


1.-  crear un archivo .sh en el directorio /etc/init.d que contenga el comando para iniciar tomcat, este es el contenido de mi archivo (starttomcat.sh):

#!/bin/sh
export JAVA_HOME=/home/slack/programas/jdk1.7.0_55
cd /home/slack/programas/apache-tomcat-5.5.33
./bin/startup.sh


podemos setear variables de entorno como lo hago para Java, en la próxima linea vamos al directorio donde esta el ejecutable, y luego ejecutamos el comando para arrancar tomcat ./bin/startup.sh

slack@ubuntu:/etc/init.d$ ls -la starttomcat.sh
-rwxrwxr-x 1 root root 124 oct  2 13:05 starttomcat.sh

2.- modificamos el archivo rc.local que esta en /etc para agregar al final antes del exit 0 la ruta de nuestro archivo anterior que inicia tomcat con sh

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# para inicio de tomcat
sh /etc/init.d/starttomcat.sh

exit 0

3.- reiniciamos el sistema y comprobamos que se inicio Tomcat automáticamente desde el browser http://localhost:8080 , sino entrar a picar con los otros rc.local dependiendo del run level de inicio del sistema.

suerte !

miércoles, 26 de julio de 2017

Instalar OpenProj en Ubuntu 16.04


OpenProj es una aplicación de escritorio escrita en java, que sirve para la gestión de tareas que se llevan a cabo en la implementación de un proyecto de cualquier tipo, pudiendo crear recursos hh y otros , asignando tiempos en una carta de navegación tipo gantt.

Al ser open source se descarga de cualquier parte, principalmente de SourceForge

Insralando ...

slack@ubuntu:~/Descargas$ chmod 775 openproj_1.4-2.deb
slack@ubuntu:~/Descargas$ ls -la openproj_1.4-2.deb
-rwxrwxr-x 1 slack slack 6520166 jul 25 21:08 openproj_1.4-2.deb
slack@ubuntu:~/Descargas$ dpkg -i openproj_1.4-2.deb
dpkg: error: la operación solicitada precisa privilegios de superusuario
slack@ubuntu:~/Descargas$ sudo dpkg -i openproj_1.4-2.deb
Seleccionando el paquete openproj previamente no seleccionado.
(Leyendo la base de datos ... 313725 ficheros o directorios instalados actualmente.)
Preparando para desempaquetar openproj_1.4-2.deb ...
Desempaquetando openproj (1.4-2) ...
Configurando openproj (1.4-2) ...
Procesando disparadores para gnome-menus (3.13.3-6ubuntu3.1) ...
Procesando disparadores para desktop-file-utils (0.22-1ubuntu5.1) ...
Procesando disparadores para bamfdaemon (0.5.3~bzr0+16.04.20160824-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Procesando disparadores para mime-support (3.59ubuntu1) ...
Procesando disparadores para shared-mime-info (1.5-2ubuntu0.1) ...
Unknown media type in type 'all/all'
Unknown media type in type 'all/allfiles'
slack@ubuntu:~/Descargas$


Ups !!

slack@ubuntu:~/Descargas$ open
open      openproj  openssl   openvt  
slack@ubuntu:~/Descargas$ openproj
Java auto-detection...
Checking /home/slack/programas/jdk1.8.0_111/bin/java
    Java version: 1.8.0_111 OK
    Java implementation: Java(TM) OK
Java OK
jul 26, 2017 10:40:14 AM java.util.prefs.FileSystemPreferences$1 run
INFO: Created user preferences directory.




Afortunadamente tenia una instalacon de java 1.6...





así que apunte la instalación de java 1.6 en el archivo .run.conf que menciona la imagen







ahora corremos nuevamente el comando openproj desde la consola y arranca openproj con la ventana para aceptar la licencia open source del software

y Luego a disfrutar OpenProj





Saludos.


jueves, 1 de junio de 2017

Instalar VirtualBox 5.1 en Ubuntu 16.04

Varias vueltas me di antes de poder instalara correctamente virtualbox en ubuntu 16.04 , y aunque esto ya lo había hecho con las mismas versiones ahora no me funcionaba por un conflicto con el kernel del SO y el modprobe, lo intente con apt, synaptic, descargándolo y nada, se instalaba correctamente pero cuando quería crear o iniciar una maquina virtual salia error del tipo modprobe vbox y algo err=1608 creo....

intente varias correcciones vía comandos pero no pasaba nada , seguía el mismo mensaje, hasta que lo instale agregando el repositorio al source.list

1.- desinstale completamente la versión que tenia instalada

2.- ingrese los siguientes comandos:

sudo gedit /etc/apt/sources.list

para editar el archivo de repositorios agregando al final el repositorio de virtualbox

deb http://download.virtualbox.org/virtualbox/debian xenial contrib

agrege las claves :

wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -

y

wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -

guarde y actualice el repositorio del sistema con :

sudo apt-get update

y luego procedí a instalar VistualBox 5.1

sudo apt-get install virtualbox-5.1


luego puedo arrancar virtualbox y crer nuevas maquinas o levantar otras,

saludos y suerte !!

domingo, 23 de octubre de 2016

WIFI después de instalar ubuntu 16

luego de instalar ubuntu 16 server el sistema este me indicaba que me conectaba a internet pero al iniciar el browser no conectaba, revisando el archivo:

 ping www.google.com
ping: unknown host www.google.com
slack@ubuntu:~$ sudo gedit /etc/network/interfaces
[sudo] password for slack:


cambie la interface wlan0 de manual a dhcp

slack@ubuntu:~$ sudo service network-manager restart
slack@ubuntu:~$


y funciono perfecto

miércoles, 7 de septiembre de 2016

Incrementar Cache de Tomcat 8.x

En algunos caso al arrancar apache tomcat versión 8.x el log indica que existe una insuficiencia de recursos de cache del contenedor con el siguiente mensaje :

WARNING [localhost-startStop-1] org.apache.catalina.webresources.Cache.getResource Unable to add the resource at [/WEB-INF/classes/org/hibernate/hibernate-configuration-3.0.dtd] to the cache because there was insufficient free space available after evicting expired cache entries - consider increasing the maximum size of the cache

y como no es muy cómodo que aparezca este tipo de alertas lo mejor es configurar correctamente este parámetro, ya que posteriormente nos podría traer algún tipo de fallo en nuestras aplicaciones, entonces, para evitar esto debemos incrementar la cache de nuestro tomcat, para esto debemos ir al archivo context.xml que esta en tomcat_home\conf\context.xml , y agregar antes del cierre del tag  </Context> el siguiente tag :

<Resources cachingAllowed="true" cacheMaxSize="100000" />


con esto le indicamos a nuestro servidor un máximo de cache y evitamos el mensaje de alerta en la partida del servicio.

saludos!


martes, 9 de agosto de 2016

Instalando Maven 3.3.9

Maven es un automatizador para la creación de proyectos J2EE, basado en arquetipos, y considerado como la evolución de ANT, maven también pertenece a apache software fundation con licencia GLP open source.

para instalar maven se deben seguir los siguientes pasos:

1.- descargar la ultima versión desde http://maven.apache.org/download.cgi , en mi caso la 3.3.9 para jdk 7 o superior

2.- una vez descargada vamos al directorio donde desempaquetaremos, en mi caso linux es en /home/slack/programas , creándose el directorio apache-maven-3.3.9 y la ruta /home/slack/programas/apache-maven-3.3.9

3.- después del paso 2 debemos agregar nuestro maven al path del sistema operativo, en linux debemos ejecutar el comando:

slack@zion:~/programas$ export PATH=/home/slack/programas/apache-maven-3.3.9/bin:$PATH

de esta forma ya tenemos la variable mvn en el enviromment del sistema, lo podemos comprobar ejecutando el comando "env" desde la consola :

slack@zion:~/programas$ env
PATH=/home/slack/programas/apache-maven-3.3.9/bin:/home/slack/programas/jdk1.7.0_55/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

aquí vemos que ya aparece la ruta de ejecución de maven, ahora podemos ejecutar el comando maven (mvn -v) desde la consola, si todo esta ok el resultado debería ser similar al siguiente :

slack@zion:~/programas$ mvn -v
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T13:41:47-03:00)
Maven home: /home/slack/programas/apache-maven-3.3.9
Java version: 1.7.0_55, vendor: Oracle Corporation
Java home: /home/slack/programas/jdk1.7.0_55/jre
Default locale: es_ES, platform encoding: UTF-8
OS name: "linux", version: "3.13.0-85-generic", arch: "amd64", family: "unix"

Esto quiere decir que ya tenemos maven instalado correctamente en nuestro sistema y con el podremos crear proyectos y luego trabajarlos desde un ide como eclipse, netbeans u otro.

suerte!!

viernes, 1 de julio de 2016

Crear Acceso directo en Linux Ubuntu

Para crear un acceso directo ir a terminal y escribir el siguiente comando para instalar gnome-panel:

slack@zion:~/programas/jbpm-installer$ sudo apt-get install gnome-panel
[sudo] password for slack:
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias      
Leyendo la información de estado... Hecho
gnome-panel ya está en su versión más reciente.
0 actualizados, 0 se instalarán, 0 para eliminar y 171 no actualizados.


En mi caso al ejecutar se me indica que gnome-panel ya esta instalado, por lo tanto ahora quiero crear mi acceso directo y ejecuto este comando:

slack@zion:~/programas/jbpm-installer$ gnome-desktop-item-edit ~/Escritorio --create-new

Este comando abre un formulario para crear mi acceso directo donde hay que indicar el nombre del acceso y la ruta del ejecutable, generalmente podria ser /usr/bin por ejemplo para crear el acceso directo de google-chrome.

bueno eso es.., buena caza !

martes, 24 de mayo de 2016

error Eclipse java: cairo-misc.c:380

En algunas ocasiones intentando ejecutar una clase en eclipse kepler 64 bit con jdk 1.7 sobre red-hat 6.5 actualizado a 6.7, inesperadamente eclipse se cierra, si esta iniciado por consola este informa el siguiente error :

[slack@zion eclipse]$ ./eclipse
java: cairo-misc.c:380: _cairo_operator_bounded_by_source: Assertion `NOT_REACHED' failed.

la solucion encontrada y que funciona es añadir al archivo eclipse.ini la siguiente linea al final "-Dorg.eclipse.swt.internal.gtk.cairoGraphics=false" como muestra el siguiente texto y tambien se puede aprovechar de aumentar las opciones de memoria

openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-XX:MaxPermSize=512m
-Xms512m
-Xmx2048m
-Dorg.eclipse.swt.internal.gtk.cairoGraphics=false


Suerte.

lunes, 25 de abril de 2016

Pierde modo gráfico al actualizar Ubuntu

He actualizado mi Linux Ubuntu de la versión 12.04 a la 14.04 con el manager gráfico desde la versión 12.04, ya que hace buen tiempo me lo solicitaba.
Después de una larga espera cerca de 4 horas y dependiendo de la conexión de red he logrado actualizar el sistema operativo, iba todo bien, reinicie la maquina y me lanzo el login de inicio con una mejor resolución por lo que creí que todo andaba perfecto, sin embargo al ingresar mi contraseña el sistema no me dejo entrar, tampoco me dijo que la contraseña era incorrecta, intente mil veces y nada, así que después de googlear y buscar por internet encontre varias soluciones y la que resulto es la siguiente en el paso a paso:

1.- linux utiliza terminales desde la f1 a la f12 y normalmente la session gráfica de arranque es la f7, entonces una vez en el login presionamos Control+Alt+F1, con esto nos vamos al login en la terminal f1 en modo texto, ingresamos nuestro usuario y contraseña.

2.- una vez dentro ingresamos : sudo dpkg --configure -a
con este comando damos al orden para configurar nuestro gestor de paquetes.

3.- ingresamos el comando : sudo apt-get -f install

4.- ingresamos : sudo apt-get update

5.- ingresamos : sudo apt-get dist-upgrade

6.- ingresamos : sudo apt-get install --reinstall ubuntu-desktop
con este reinstalamos nuestro entorno de escritorio

7.- ingresamos : sudo apt-get autoremove
eliminamos paquetes rotos o inservibles, esto siempre se hace despues del paso 6

8.- ingresamos : sudo apt-get clean

9.- reiniciamos : sudo reboot

Ahora debiéramos poder ingresar al entorno gráfico con nuestro usuario y contraseña.

espero les allá ayudado, suerte !!