Instalación de Oracle SQL Developer en Debian

13 May, 2016

Comments

En este post seguiremos con la instalación de herramientas de Oracle en Debian.

Para comenzar, después de instalar SQL Plus en Debian descargamos el siguiente paquete rpm de la web de Oracle.

Instalamos el paquete rpm con Alien: alien -i sqldeveloper-*.rpm

Una vez que termine la instalación, tendremos que instalar JDK como dependencia, en este caso instalare el paquete privativo, pero también funciona bien con el paquete libre.

Instalamos JDK:

Añadimos repositorios, aunque sea de ubuntu, funciona correctamente en Debian: echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee /etc/apt/sources.list.d/webupd8team-java.list echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list

Clave para el repositorio: apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886

Actualizamos la lista de repositorios: apt-get update

Instalamos JDK8 en Debian: apt-get install oracle-java8-installer oracle-java8-set-default

Editamos el siguiente archivo /home/user_x/.sqldeveloper/4.1.0/product.conf y especificamos la ruta de nuestra instalación de Java JDK, escribiendo la siguiente linea: SetJavaHome /usr/lib/jvm/java-8-oracle/

Para entrar en SQL Developer, ejecutamos sqldeveloper. Opcionalmente podemos añadir un lanzador a GNOME.

Con esto termina la instalación. Cualquier duda pregunten por comentario.

Un saludo!

Instalación de LXC

12 May, 2016

Comments

En esta entrada trataremos la instalación de LXC en Debian Jessie, junto con; comandos básicos y creación de contenedores. Esta instalación se realizara en un sistema auxiliar en un volumen lógico, dado que en el ordenador donde lo montare sera en mi ordenador personal.

Información general de LXC

LXC (Linux Containers) es un entorno de virtualización a nivel de sistema operativo para la ejecución de múltiples sistemas Linux aislados en contenedores en un único host anfitrión con kernel Linux.

  • Virtualización a nivel de sistema operativo.
  • Licencia: GNU-GPL v2.
  • Escrito en: C, python3, shell, lua.
  • Desarrollo activo.
  • Sistemas soportados: sistemas con nucleo Linux.
  • Arquitecturas: x86, x86-64, IA-64, PowerPC, SPARC, Itanium, ARM.
  • Versión estable desde el 12/05/2013
  • Web: linuxcontainers.org

Presentación de LXC: (http://tedezed.github.io/Presentation/lxc/)

Instalación y configuración de LXC

Instalación de paquetes: apt-get install lxc bridge-utils libvirt-bin debootstrap

Debemos comprobar la configuración del núcleo, vemos si todas las características están activas.

Creamos un nuevo contenedor con: lxc-create -n contenedor1 -t debian

Una vez creada la máquina, nos dirá que la contraseña de root es ‘root’ y nos aconseja que la cambiemos. Root password is 'J90Fki5w', please change !

También podemos crear un contenedor con un volumen para copia de seguridad: Si ejecutamos directamente el comando para crear el contenedor: lxc-create -t debian -n contenedor_lv -B lvm --vgname lxc --lvname lv_debian --fssize 1G --fstype xfs

Nos devolverá el siguiente error:

File descriptor 3 (/var/lib/lxc/contenedor_lv/partial) leaked on lvcreate invocation. Parent PID 4696: lxc-create
<strong>Volume group "lxc" not found</strong>
lxc_container: Error creating new lvm blockdev /dev/lxc/lv_debian size 1073741824 bytes
lxc_container: Failed to create backing store type lvm
lxc_container: Error creating backing store type lvm for contenedor_lv
lxc_container: Error creating container contenedor_lv

Para resolver este error creamos un dispositivo de imagen donde crearemos un volumen utilizable desde lxc. truncate -s 5G lvm.img losetup -f --show lvm.img

Anotamos la respuesta del comando, en mi caso /dev/loop0 Con esto ultimo resuelto, creamos el grupo de volúmenes por defecto de lxc:

Elegimos el volumen anterior con: pvcreate /dev/loop0

Damos como nombre lxc: vgcreate lxc /dev/loop0

Creamos un volumen lógico y dejamos espacio para los metadatos: lvcreate -l 95%FREE --type thin-pool --thinpool lxc lxc

Ahora si ejecutamos el comando para crear el contenedor con volumen lógico. lxc-create -t debian -n contenedor_lv -B lvm --vgname lxc --lvname lv_debian --fssize 1G --fstype xfs

-B -Tipo de volumen para copia de seguridad: 'dir', 'lvm', 'loop', 'btrfs', 'zfs' o 'best'.
--vgname -Nombre del grupo de volúmenes.
--lvname -Nombre del volumen lógico.
--fssize -Capacidad del volumen lógico.
--fstype -Formato del volumen.

También nos retornara la contraseña de root: Root password is '9aQC1I1L', please change !

Configurar bridge en un contenedor: (https://wiki.debian.org/LXC/SimpleBridge)

Editamos el fichero de red de la máquina anfitriona. nano /etc/network/interfaces

Ponemos las siguientes ordenes suponiendo que nuestra tarjeta de red es la eth0:

[enlighter lang="python"]auto eth0
iface eth0 inet dhcp
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_fd 0
bridge_maxwait 0

Desactivamos Network Manager, este puede que nos de problemas a la hora de utilizar esta configuración: /etc/init.d/network-manager stop

Reiniciamos la red: /etc/init.d/networking restart

Podemos configurar la red de dos formas:

  • Configurando el contenedor nano /var/lib/lxc/contenedor1/config
  • Configurando la configuración general nano /etc/lxc/default.conf

En ambos casos tendremos que añadir:

# Network
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0

Iniciamos el contenedor para testear la red: lxc-start -n contenedor1 -d

Entramos como root: lxc-console -n contenedor1

Miramos la ip de la maquina:

root@contenedor1:~# ip addr | grep eth0
4: eth0: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
inet 192.168.0.6/24 brd 192.168.0.255 scope global eth0

Podemos comprobar la conexión con ping, en mi caso no viene instalado en la maquina así que instalamos el paquete:

apt-get update
apt-get upgrade
apt-get install iputils-ping

Hacemos ping:

root@contenedor1:~# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=51 time=47.5 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=51 time=56.4 ms
^C
--- 8.8.8.8 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 47.514/51.967/56.421/4.459 ms

Para iniciar el contenedor: lxc-start -n contenedor1 -d

Conectar al contenedor anteriormente iniciado: lxc-console -n contenedor1

Para salir pulsamos CTRL+a y al soltar q.

Para ver los contenedores creados: lxc-list

Parar contenedor: lxc-stop -n contenedor1

Apagar el contenedor: lxc-halt -n contenedor1

Borrar contenedor: lxc-destroy -n contenedor1

Si queremos saber más información sobre un contenedor como el pid: lxc-info -n contenedor1

Clonar contenedor: lxc-clone -o contenedor1 -n contenedor2

Auto inicio de contenedores al arrancar el anfitrión: Editamos con nano /var/lib/lxc/contenedor1/config y añadimos: lxc.start.auto = 1

Ejecutar comandos en un contenedor: lxc-attach -n contenedor1 -- ip addr

Instalación de Debian y driver WiFi de Windows [C54RI]

11 May, 2016

Comments

En esta entrada podréis seguir una instalación de un Debian Jessie 8.2, documentada en un equipo de unos 11 años de edad, compuesto por; un CPU Intel Pentium 4 a 3,4 GHz, 2 Gb de RAM DDR1, un disco duro de 500Gb, una tarjeta PCI Conceptronic C54RI V1, una motherboard Asrock 775i945GZ.logo_debian

Esta instalación se llevara acabo utilizando volúmenes lógicos y sistema de archivos XFS con escritorio LXDE.

Para esta instalación utilizaré una versión en DVD de Debian que dispone del mismo en 32 y 64 bits. Si por desgracia tenemos Windows en nuestro equipo y aun así no queremos eliminarlo, tendremos que redimensionar su volumen desde el gestor de disco del que dispone, con esto dejaremos espacio para la instalación. Es recomendable tener conexión a Internet durante la instalación para poder utilizar una replica de red.

Cuando llegamos al particionado de discos, debemos seleccionar la opción de particionado manual.

Entramos en el gestor de volumen lógicos o LVM, creamos un grupo de volúmenes, damos un nombre al grupo y seleccionamos el espacio libre. Entramos en creación de volumen lógicos, damos un nombre y asignamos un tamaño, en mi caso de 30Gb. Creamos un segundo volumen lógico para área de intercambio con el tamaño del doble de la capacidad de nuestra RAM, en mi caso tengo 2Gb este volumen seria de 4Gb.

Para terminar, entramos en nuestros volúmenes lógicos y definimos como raíz el de tamaño de 30Gb con formato XFS y como intercambio el de tamaño de 4Gb.

Posteriormente podremos seleccionar algunas opciones de instalación, como por ejemplo; el escritorio LXDE que es muy ligero y recomendable para equipos poco potentes, las utilidades del sistema, servidor ssh, etc. Cuando termine la instalación, reiniciara el equipo pasando a la siguiente etapa de la instalación donde hablare de la solución de problemas.

Al terminal la instalación observo que Debian no consigue controlar mi tarjeta PCI Conceptronic C54RI V1. Al visitar la web del fabricante, podemos observar que no tienen soporte para Linux, solo dan soporte para Windows.

Mi solución para que funcione esta tarjeta en Debian es muy simple, solo necesitamos; el controlador para Windows de 32 bits, ya que nuestro Debian es de 32 bits e instalar el paquete Ndiswrapper.

El driver lo e sacado del CD que viene con la tarjeta, en este CD podemos encontrar una carpeta llamada WINXP donde encontraremos un archivo llamado rt61.inf, este archivo lo utilizaremos posteriormente, en su defecto, si no tenemos el CD, también lo podemos sacar del ejecutable con unzip:

unzip -a ejecutable_driver.exe

Instalamos ndiswrapper para poder utilizar el archivo rt61.inf:

apt-get update
apt-get upgrade
apt-get install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') ndiswrapper-utils-1.9 wireless-tools

Instalamos el driver con:

ndiswrapper -i rt61.inf
ndiswrapper -mi

Listamos los drivers instalados con: ndiswrapper -l

Si por un casual no nos funcionara o nos hemos equivocado, para eliminar el driver ejecutamos: ndiswrapper -e rt61

Una vez que tenemos el controlador correcto, ejecutamos las lineas siguientes para cargar los módulos:

depmod -a
modprobe ndiswrapper

Configuramos modprobe para que se cargue ndiswrapper cuando la interface de la tarjeta wireless este activado: ndiswrapper -m

En mi caso el modulo en se cargaba al inicio, así que tenemos que hacer la siguiente configuración: nano /etc/modules

Añadimos la linea: ndiswrapper

Con esto finalizamos la instalación, reiniciamos. Comprobamos que funciona con:

root@debian:/home/debian# ndiswrapper -l
rt61 : driver installed
device (1814:0302) present (alternate driver: rt61pci)

A continuación hago un breve listado de los módulos que están funcionando correctamente con la instalación.

Lspci:

root@debian:/home/debian# lspci
00:00.0 Host bridge: Intel Corporation 82865G/PE/P DRAM Controller/Host-Hub Interface (rev 02)
00:02.0 Display controller: Intel Corporation 82865G Integrated Graphics Controller (rev 02)
00:06.0 System peripheral: Intel Corporation 82865G/PE/P Processor to I/O Memory Interface (rev 02)
00:1d.0 USB controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (rev 02)
00:1d.1 USB controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (rev 02)
00:1d.2 USB controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (rev 02)
00:1d.3 USB controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (rev 02)
00:1d.7 USB controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev c2)
00:1f.0 ISA bridge: Intel Corporation 82801EB/ER (ICH5/ICH5R) LPC Interface Bridge (rev 02)
00:1f.1 IDE interface: Intel Corporation 82801EB/ER (ICH5/ICH5R) IDE Controller (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801EB (ICH5) SATA Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801EB/ER (ICH5/ICH5R) SMBus Controller (rev 02)
00:1f.5 Multimedia audio controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (rev 02)
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RV280 [Radeon 9200 PRO] (rev 01)
01:01.0 Network controller: Ralink corp. RT2561/RT61 rev B 802.11g
01:05.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (rev 10)

Lsusb:

root@debian:/home/debian# lsusb
Bus 005 Device 003: ID 0aec:3260 Neodio Technologies Corp. 7-in-1 Card Reader
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 04fc:0005 Sunplus Technology Co., Ltd USB OpticalWheel Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Teclado:

root@debian:/home/debian# dmesg | grep keyboard
[ 1.223372] input: AT Raw Set 2 keyboard as /devices/platform/i8042/serio1/input/input1

Ratón:

root@debian:/home/debian# lsusb | grep Mouse
Bus 002 Device 002: ID 04fc:0005 Sunplus Technology Co., Ltd USB OpticalWheel Mouse

Gráfica AGP:

root@debian:/home/debian# lspci | grep VGA
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RV280 [Radeon 9200 PRO] (rev 01)

Buscamos más información sobre el modulo de la grafica:

root@debian:/home/debian# ls /sys/class/drm/controlD64/device/driver/module/drivers/
pci:i915 pci:radeon

Este modulo corresponde a la grafica AGP de ATI.

root@debian:/home/debian# modinfo radeon
filename: /lib/modules/3.16.0-4-686-pae/kernel/drivers/gpu/drm/radeon/radeon.ko
license: GPL and additional rights
description: ATI Radeon
author: Gareth Hughes, Keith Whitwell, others.
firmware: radeon/R520_cp.bin
firmware: radeon/RS600_cp.bin

Este modulo pertenece al la grafica integrada de Intel:

root@debian:/home/debian# modinfo i915
filename: /lib/modules/3.16.0-4-686-pae/kernel/drivers/gpu/drm/i915/i915.ko
license: GPL and additional rights
description: Intel Graphics
author: Tungsten Graphics, Inc.
alias: pci:v00008086d000022B3sv*sd*bc03sc*i*
alias: pci:v00008086d000022B2sv*sd*bc03sc*i*

Audio:

root@debian:/home/debian# lspci | grep audio
00:1f.5 Multimedia audio controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (rev 02)

WIFI PCI:

root@debian:/home/debian# lspci | grep RT61
01:01.0 Network controller: Ralink corp. RT2561/RT61 rev B 802.11g

Modulo cargado anteriormente para la PCI WiFi:

root@debian:/home/debian# basename `readlink /sys/class/net/wlan0/device/driver/module`
ndiswrapper

Información del modulo ndiswrapper:

root@debian:/home/debian# modinfo ndiswrapper
filename: /lib/modules/3.16.0-4-686-pae/updates/dkms/ndiswrapper.ko
license: GPL
version: 1.59
description: NDIS wrapper driver
author: ndiswrapper team &lt;ndiswrapper-general@lists.sourceforge.net&gt;
srcversion: C101C962263FFF26465A483
depends: usbcore
vermagic: 3.16.0-4-686-pae SMP mod_unload modversions 686
parm: if_name:Network interface name or template (default: wlan%d) (charp)
parm: proc_uid:The uid of the files created in /proc (default: 0). (int)
parm: proc_gid:The gid of the files created in /proc (default: 0). (int)
parm: debug:debug level (int)
parm: hangcheck_interval:The interval, in seconds, for checking if driver is hung. (default: 0) (int)
parm: utils_version:Compatible version of utils (read only: 1.9) (charp)

PCI:

root@debian:/home/debian# lsmod | grep pci
rt61pci 26354 0
rt2x00pci 12472 1 rt61pci
rt2x00mmio 12545 1 rt61pci
rt2x00lib 41387 3 rt61pci,rt2x00pci,rt2x00mmio
eeprom_93cx6 12561 1 rt61pci
mac80211 421532 2 rt2x00lib,rt2x00pci
crc_itu_t 12331 2 udf,rt61pci
ehci_pci 12464 0

Ethernet integrado:

root@debian:/home/debian# lspci | grep Ethernet
01:05.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (rev 10)

Informción del CPU:

root@debian:/home/debian# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 3
model name : Intel(R) Pentium(R) 4 CPU 3.40GHz
stepping : 4
cpu MHz : 3399.647
cache size : 1024 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fdiv_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe constant_tsc pebs bts pni dtes64 monitor ds_cpl cid xtpr
bogomips : 6799.29
clflush size : 64
cache_alignment : 128
address sizes : 36 bits physical, 32 bits virtual

Memoria RAM y Swap:

root@debian:/home/debian# free -o -m
total used free shared buffers cached
Mem: 2022 838 1184 16 28 380
Swap: 3813 0 3813```

</div>
Información de la distribución:
<div class="shell">

```root@debian:/home/debian# lsb_release -idc
Distributor ID: Debian
Description: Debian GNU/Linux 8.2 (jessie)
Codename: jessie```

</div>
Vista general del hardware:
<div class="shell">

```root@debian:/home/debian# lshw -short
H/W path Device Class Description
==========================================================
system Computer
/0 bus Motherboard
/0/0 memory 2022MiB System memory
/0/1 processor Intel(R) Pentium(R) 4 CPU 3.40GHz
/0/1/0.1 processor Logical CPU
/0/1/0.2 processor Logical CPU
/0/100 bridge 82865G/PE/P DRAM Controller/Host-Hub Interface
/0/100/2 display 82865G Integrated Graphics Controller
/0/100/6 generic 82865G/PE/P Processor to I/O Memory Interface
/0/100/1d bus 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1
/0/100/1d/1 usb1 bus UHCI Host Controller
/0/100/1d.1 bus 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2
/0/100/1d.1/1 usb2 bus UHCI Host Controller
/0/100/1d.1/1/2 input USB Optical Wheel Mouse
/0/100/1d.2 bus 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3
/0/100/1d.2/1 usb4 bus UHCI Host Controller
/0/100/1d.3 bus 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4
/0/100/1d.3/1 usb5 bus UHCI Host Controller
/0/100/1d.7 bus 82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller
/0/100/1d.7/1 usb3 bus EHCI Host Controller
/0/100/1d.7/1/6 scsi4 storage USB Storage Device
/0/100/1d.7/1/6/0.0.0 /dev/sdb disk SCSI Disk
/0/100/1d.7/1/6/0.0.1 /dev/sdc disk SCSI Disk
/0/100/1d.7/1/6/0.0.2 /dev/sdd disk SCSI Disk
/0/100/1d.7/1/6/0.0.3 /dev/sde disk SCSI Disk
/0/100/1e bridge 82801 PCI Bridge
/0/100/1e/0 display RV280 [Radeon 9200 PRO]
/0/100/1e/1 wlan0 network RT2561/RT61 rev B 802.11g
/0/100/1e/5 eth0 network RTL-8100/8101L/8139 PCI Fast Ethernet Adapter
/0/100/1f bridge 82801EB/ER (ICH5/ICH5R) LPC Interface Bridge
/0/100/1f.1 storage 82801EB/ER (ICH5/ICH5R) IDE Controller
/0/100/1f.2 storage 82801EB (ICH5) SATA Controller
/0/100/1f.3 bus 82801EB/ER (ICH5/ICH5R) SMBus Controller
/0/100/1f.5 multimedia 82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller
/0/2 scsi1 storage
/0/2/0.0.0 /dev/sr0 disk DVD-ROM GDR8164B
/0/2/0.1.0 /dev/cdrom disk DVD writer
/0/3 scsi3 storage
/0/3/0.0.0 /dev/sda disk 750GB ST3750630AS
/0/3/0.0.0/1 /dev/sda1 volume 232GiB EXT4 volume
/0/3/0.0.0/2 /dev/sda2 volume 3814MiB Extended partition
/0/3/0.0.0/2/5 /dev/sda5 volume 3814MiB Linux swap / Solaris partition

Con esto concluyo la entrada.