Archivo de la etiqueta: Linux

1263055237_start-here-ubuntuoriginal

Instalar java 7 en Ubuntu o Linux Mint

[UPDATE] A partir de Mint 15 y Ubuntu 13.04 ya no es necesario, simplemente haz sudo apt-get install tomcat7

Si necesitas usar java 7 en Ubuntu o Linux Mint, estás en el lugar indicado. solo tenes que que lanzar en una consola estos 3 simples comandos:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-jdk7-installer tomcat7-admin

Nota final: si tenias instalada otra versión de java u Openjdk vas a tener que setear la versión que acabas de instalar mediante el comando:

sudo update-alternatives --config java

Cortesía de los chicos de webupd8. ;)

solr_small

Instalar Solr 4.x y configurar multiples cores en Linux Ubuntu

Aclaraciones:

  • El proceso de instalación de Solr es valido para cualquier otra versión de Solr.
  • Un core es un hilo nuevo dentro de la misma instancia de Solr. Esto permite que se corra una sola instancia de Solr pero con varios buscadores.

Este tutorial asume que tienen instalado Java 7 y tomcat 7. Si tienen las versiones 6 le cambian el numero donde sea oportuno y funciona.

Vamos a ello:

Cuando tengas en tus manos el paquete se Solr, descomprimelo y ponte con la consola dentro de esa carpeta.

Cambia a sudo:

sudo su

Curiosidad: Aunque en el paquete que descargamos de Apache Solr haya al rededor de 2950 archivos solo nos van a hacer falta al rededor de 10:

Lanzamos en consola lo siguiente:

cp dist/solr-*.war /var/lib/tomcat7/webapps/solr.war
mkdir /var/lib/tomcat7/solr
cp -R example/multicore/core0/ /var/lib/tomcat7/solr/core0
mkdir /var/lib/tomcat7/solr/core0/data
chown -R tomcat7:tomcat7 /var/lib/tomcat7/solr
mkdir /var/lib/tomcat7/lib	 	 
cp dist/solrj-lib/* /var/lib/tomcat7/lib

Ahora edita /var/lib/tomcat7/solr/solr.xml, pega lo siguiente y guárdalo.

<?xml version="1.0" encoding="UTF-8" ?>
<solr persistent="true" sharedLib="lib">
 <cores adminPath="/admin/cores">
  <core name="core0" instanceDir="core0">
    <property name="dataDir" value="/var/lib/tomcat7/solr/core0/data"></property>
  </core>
 </cores>
</solr>

Edita /etc/tomcat7/Catalina/localhost/solr.xml, pega lo siguiente y guárdalo.

<?xml version="1.0" encoding="UTF-8" ?>
<context docBase="/var/lib/tomcat7/webapps/solr.war" debug="0" privileged="true" allowLinking="true" crossContext="true">
    <environment name="solr/home" type="java.lang.String" value="/var/lib/tomcat7/solr" override="true"></environment>
</context>

Listo, reiniciemos tomcat para ver en funcionamiento el core que hemos creado:

service tomcat7 restart

Entramos en http://localhost:8080/solr/ y lo vamos a ver.
Solr recién instalado con un core

Primer core de Solr
Bueno ya tenemos un Solr con un core, pero tiene poco sentido montar un Solr de multicores que tenga un solo core, así que vamos a crear uno mas.

Para este nuevo core (y todos los que quieras crear) hay que hacer dos cosas:
1: copiar la carpeta core0 junto a su owner para ahorrarnos de andar creando la misma estructura:

cp -Rp /var/lib/tomcat7/solr/core0 /var/lib/tomcat7/solr/producto

NOTA: No olvides editar /var/lib/tomcat7/solr/producto/conf/schema.xml y /var/lib/tomcat7/solr/producto/conf/solrconfig.xml para ajustar sus parámetros.

2: actualizar /var/lib/tomcat7/solr/solr.xml agregandole un nuevo tag con lo siguiente:

<core name="producto" instanceDir="producto">
  <property name="dataDir" value="/var/lib/tomcat7/solr/producto/data"></property>
</core>

Reinicia tomcat y ya tenes otro core.
Segundo core de Solr

Suerte y saludos.

Herramientas

Copiar y pegar en Putty en Linux

Me lo tengo merecido por usar Windows.

Para los que estén usando putty sobre Linux puede que hayan notado que las siguientes funcionalidades no están disponibles:

  • Cuando seleccionas algo en putty esto automáticamente queda copiado por lo que podes ir a notepad (por decir algo) y pegarlo directamente.
  • Cuando tenes algo copiado de notepad y lo quieres pegar en putty solamente haces click derecho sobre el y se pega.

Bueno, a priori me parecía que no existía esa funcionalidad y no le di mayor importancia hasta que un dia di con esa funcionalidad por casualidad.

Resulta que cuando seleccionas algo en putty esto si que se copia a un portapapeles, pero la forma de pegar ese texto copiado es con el click central (la rueda del ratón). Esto es para ambos sentidos. Si seleccionas algo de gedit (por decir algo) y haces click central en putty, también se va a pegar el texto. 

 

Ya sabes lo que se dice. Nunca te acostaras sin haber aprendido algo nuevo.

Saludos.

Herramientas

Compartir internet por wifi de Windows 7 a Linux con un cable

Tenemos lo siguiente: Un ordenador con windows 7 que esta conectado a Internet por Wifi y la conexión por cable que está enganchada al portátil:

Lo que queremos lograr es que el Wifi del ordenador le comparta la conexión a Internet a la conexión por cable del mismo ordenador para poder enganchar ese cable a un portátil con Linux (Ubuntu en este caso) y que este disfrute de Internet.

NOTA: si te preguntas porque alguien iba a querer hacer algo así lee esto, sino pasa al siguiente punto:

Por lo general cada vez que he virtualizado sobre KVM usé un ordenador de sobremesa, y estos ordenadores siempre tuvieron conexión a la red por ethernet, pero el otro día me monte una maquina virtual con Ubuntu server 10.04 64 bits en mi portátil para poner un servidor LAMP en él con una configuración similar a la que tiene un servidor de producción.

Bueno, el Ubuntu sobre KVM lo instale sin problemas, pero cuando termine de instalarlo y quise instalar un par de cositas sobre el, me saltaba diciendo que no había conexión…. Eso a priori me sonó rarisimo porque el portátil estaba conectado a Internet, pero la maquina virtual no y eso que estaba puenteado wlan0 a la maquina virtual.

Después de buscar y buscar leí por ahí que KVM todavía no soporta los bridge sobre wlan, por lo que conecte el portatil por medio de cable al ordenador de sobremesa que a su ves obtiene Internet por medio de WiFi.

Hagamos una conexión compartida de la Wifi a la de cable:

Como resultado deberías ver esto:

Bueno, ya se está compartiendo Internet del Wifi al cable en el ordenador de sobremesa, ahora vamos a Linux y toquemos un par de cositas para poder aprovechar dicha conexión.

En Linux, vamos a linkear la IP que nos proporciona la conexión por cable proveniente del ordenador de sobremesa a una IP estática en Ubuntu usando la IP entrante como gateway:

Editamos el archivo interfaces:

sudo gedit /etc/network/interfaces

Deberían ver algo así:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback

Y vamos  a agregarle un par de lineas quedando el archivo asi:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# acá está la magia. Estamos linkeando la ip del ordenador de sobremesa (192.168.1.1) a una ip interna de Ubuntu
auto eth0
iface eth0 inet static
        address 192.10.0.1 #--> ip asignada en ubuntu (la que mas te guste)
        netmask 255.255.255.0
        gateway 192.168.1.1 #--> ip entrante de la conexion por cable

Guarda los cambios y reinicia la conexión:

sudo /etc/init.d/networking stop
sudo /etc/init.d/networking start

NOTA: aveces a se le va la cabeza y no levanta correctamente la conexión hasta que reinicies y no se porqué pasa eso, asi que si reiniciando la conexión sigue sin funcionarte reinicia el portátil así toma la configuración.

Listo, chau ;)

Herramientas

Linux (Consola): Imprimir una linea especifica de un archivo de texto

Cuando estas tratando con archivos muy grandes de texto (el mio es de 2.5GB) y necesitas imprimir en consola una sola linea para no tener que abrir el archivo (cosa que veo imposible si pesa 2.5gb…) lo que vas a necesitar es usar el comando sed:

sed -n 39000p backup.sql

Lo anterior se traduce en “Imprimir en la consola la linea 39000 ( treinta y nueve mill ) del archivo backup.sql”

1263055237_start-here-ubuntuoriginal

KVM/libvirt: el guest (anfitrion) no detecta la interface virbr0 [Solución]

Si copiaste una maquina virtual KVM y al arrancar no tenes conexión a Internet, hablas visto depues de hacer ifconfig que no hay interface eth0. Esto pasa porque Linux cachea el mac de la tarjeta de red que tenia en la anterior maquina virtual en el archivo “70-persistent-net.rules“.

La solución es borrarlo y reiniciar la maquina virtual (tranquilo que si Linux no lo encuentra lo recrea).

sudo rm /etc/udev/rules.d/70-persistent-net.rules
sudo reboot
1263055237_start-here-ubuntuoriginal

Ubuntu: recuperar el usuario sudo / administrador

Algo raro que me paso hace unos días fue que el usuario que crea Ubuntu cuando haces una instalación nueva dejo de ser miembro del grupo de administradores, y por consiguiente dejo de poder ejecutar sudo.
Para solucionarlo al final resulto ser mucho mas simple de lo que pensaba:
Info: mi usuario se llama “capy” en este ejemplo.
  1. Pone el disco (CD / DVD) de Ubuntu en la maquina.
  2. Reiniciala
  3. Cuando se presente el menú del CD de Ubuntu selecciona “Recuperar un sistema dañado”:
  4. Como lo anterior te va a entregar una consola de root, ya podemos tocar el archivo de grupos
  5. Ejecuta en consola: nano /etc/group
  6. Busca la linea “admin:x:119:” (el 119 puede ser otro numero, lo que interesa es que el grupo sea “admin”) y agregale tu usuario como se ve acá: “admin:x:119:capy
  7. Guarda los cambios y reinicia.
A partir de ahora deberías volver a poder hacer uso de sudo con tu usuario predeterminado.