Software to Install:
x11-server-utilities
xauth
x11-info-clients
motif
xclock
root@solaris:# pkg install -v x11-server-utilities
root@solaris:# pkg install -v xauth
root@solaris:# pkg install -v x11-info-clients
root@solaris:# pkg install -v motif
root@solaris:# pkg install -v xclock
Make sure that /etc/ssh/sshd_config has:
# X11 tunneling options
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes
If the file has been modified restart the ssh service:
root@solaris:# svcadm restart ssh
Go to other machine and start an ssh session:
root@other:# ssh -X root@solaris
Password:
Last login: Sun Feb 1 07:21:09 2015 from 192.168.56.1
Oracle Corporation SunOS 5.11 11.2 June 2014
Test it:
root@solaris:# xclock
Enjoy!
Como su propio nombre indica este blog no pretende ser mas que un sitio donde poder realizar anotaciones útiles para mi y para cualquiera que busque información en la red.
Mostrando entradas con la etiqueta Sistemas. Mostrar todas las entradas
Mostrando entradas con la etiqueta Sistemas. Mostrar todas las entradas
domingo, 1 de febrero de 2015
domingo, 30 de septiembre de 2012
Tareas post-instalacion Oracle 11g release 2 en Debian 6.0 (Squeeze) de 64 bits
Por convencion durante la instalacion hemos llamado "deb664ora11gr2" al servidor, "odx" a la Instancia de base de datos y hemos instalado oracle en "/u01/app/oracle/product/11.2.0/dbhome_1".
Como "root", modificacion del fichero "oratab":
vi /etc/oratab
Cambiar:
odx:/u01/app/oracle/product/11.2.0/dbhome_1:N
por:
odx:/u01/app/oracle/product/11.2.0/dbhome_1:Y
Modificar el fichero "listener.ora":
vi /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Añadir la entrada "SID_LIST_LISTENER":
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = odx)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
(PROGRAM = extproc)
)
(SID_DESC=
(GLOBAL_DBNAME= odx.deb664ora11gr2)
(ORACLE_HOME= /u01/app/oracle/product/11.2.0/dbhome_1)
(SID_NAME=odx)
)
)
Si queremos que oracle escuche conexiones unicamente en las direcciones IPV4 modificamos la entrada "LISTENER":
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = deb664ora11gr2)(PORT = 1521)(IP=V4_ONLY))
)
)
Creamos el script de arranque de oracle:
vi /etc/init.d/oracle
Introducimos el siguiente contenido:
#!/bin/sh
# Oracle auto start-stop script.
#
# Set ORA_HOME to be equivalent to the $ORACLE_HOME
# from which you wish to execute dbstart and dbshut;
#
# Set ORA_OWNER to the user id of the owner of the
# Oracle database in ORA_HOME.
### BEGIN INIT INFO
# Provides: oracle
# Required-Start: $remote_fs $syslog $named $network $time
# Required-Stop: $remote_fs $syslog $named $network
# Should-Start: tnslsnr
# Should-Stop: tnslsnr
# Default-Start: 2
# Default-Stop: 0 1 6
# Short-Description: Oracle
# Description: Oracle
### END INIT INFO
ORA_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
ORA_OWNER=oracle
if [ ! -f $ORA_HOME/bin/dbstart ]
then
echo "Oracle startup: cannot start"
exit
fi
case "$1" in
'start')
# Start the Oracle databases:
# The following command assumes that the oracle login
# will not prompt the user for any values
su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart $ORA_HOME"
touch /var/lock/oracle
;;
'stop')
# Stop the Oracle databases:
# The following command assumes that the oracle login
# will not prompt the user for any values
su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut $ORA_HOME"
rm -f /var/lock/oracle
;;
esac
Hacemos que el fichero sea ejecutable y que sea arrancable/parable en el inicio/parada automaticamente:
chmod +x /etc/init.d/oracle
update-rc.d oracle defaults
Como "oracle", actualizar las variables de entorno del usuario:
echo "# Oracle Settings" >> /home/oracle/.profile
echo "TMP=/tmp; export TMP" >> /home/oracle/.profile
echo "TMPDIR=$TMP; export TMPDIR" >> /home/oracle/.profile
echo "ORACLE_HOSTNAME=deb664ora11gr2; export ORACLE_HOSTNAME" >> /home/oracle/.profile
echo "ORACLE_UNQNAME=odx; export ORACLE_UNQNAME" >> /home/oracle/.profile
echo "ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE" >> /home/oracle/.profile
echo "ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME" >> /home/oracle/.profile
echo "ORACLE_SID=odx; export ORACLE_SID" >> /home/oracle/.profile
echo "PATH=$ORACLE_HOME/bin:$PATH; export PATH" >> /home/oracle/.profile
echo "LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH" >> /home/oracle/.profile
echo "CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH" >> /home/oracle/.profile
Para comprobar que todo esta bien podemos probar "sqlplus":
oracle@deb664ora11gr2:~$ sqlplus -v
SQL*Plus: Release 11.2.0.1.0 Production
Y tras reiniciar desde "root":
root@deb664ora11gr2:/etc# netstat -lp | grep tnslsnr | grep -v STREAM
tcp 0 0 *:1521 *:* LISTEN 982/tnslsnr
root@deb664ora11gr2:/etc# netstat -lp | grep ora_
tcp6 0 0 [::]:33079 [::]:* LISTEN 1227/ora_d000_odx
udp6 0 0 ip6-localhost:62128 [::]:* 1229/ora_s000_odx
udp6 0 0 [::]:38848 [::]:* 1223/ora_mmon_odx
udp6 0 0 ip6-localhost:37339 [::]:* 1195/ora_pmon_odx
udp6 0 0 ip6-localhost:23137 [::]:* 1227/ora_d000_odx
Como "root", modificacion del fichero "oratab":
vi /etc/oratab
Cambiar:
odx:/u01/app/oracle/product/11.2.0/dbhome_1:N
por:
odx:/u01/app/oracle/product/11.2.0/dbhome_1:Y
Modificar el fichero "listener.ora":
vi /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Añadir la entrada "SID_LIST_LISTENER":
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = odx)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
(PROGRAM = extproc)
)
(SID_DESC=
(GLOBAL_DBNAME= odx.deb664ora11gr2)
(ORACLE_HOME= /u01/app/oracle/product/11.2.0/dbhome_1)
(SID_NAME=odx)
)
)
Si queremos que oracle escuche conexiones unicamente en las direcciones IPV4 modificamos la entrada "LISTENER":
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = deb664ora11gr2)(PORT = 1521)(IP=V4_ONLY))
)
)
Creamos el script de arranque de oracle:
vi /etc/init.d/oracle
Introducimos el siguiente contenido:
#!/bin/sh
# Oracle auto start-stop script.
#
# Set ORA_HOME to be equivalent to the $ORACLE_HOME
# from which you wish to execute dbstart and dbshut;
#
# Set ORA_OWNER to the user id of the owner of the
# Oracle database in ORA_HOME.
### BEGIN INIT INFO
# Provides: oracle
# Required-Start: $remote_fs $syslog $named $network $time
# Required-Stop: $remote_fs $syslog $named $network
# Should-Start: tnslsnr
# Should-Stop: tnslsnr
# Default-Start: 2
# Default-Stop: 0 1 6
# Short-Description: Oracle
# Description: Oracle
### END INIT INFO
ORA_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
ORA_OWNER=oracle
if [ ! -f $ORA_HOME/bin/dbstart ]
then
echo "Oracle startup: cannot start"
exit
fi
case "$1" in
'start')
# Start the Oracle databases:
# The following command assumes that the oracle login
# will not prompt the user for any values
su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart $ORA_HOME"
touch /var/lock/oracle
;;
'stop')
# Stop the Oracle databases:
# The following command assumes that the oracle login
# will not prompt the user for any values
su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut $ORA_HOME"
rm -f /var/lock/oracle
;;
esac
chmod +x /etc/init.d/oracle
update-rc.d oracle defaults
Como "oracle", actualizar las variables de entorno del usuario:
echo "# Oracle Settings" >> /home/oracle/.profile
echo "TMP=/tmp; export TMP" >> /home/oracle/.profile
echo "TMPDIR=$TMP; export TMPDIR" >> /home/oracle/.profile
echo "ORACLE_HOSTNAME=deb664ora11gr2; export ORACLE_HOSTNAME" >> /home/oracle/.profile
echo "ORACLE_UNQNAME=odx; export ORACLE_UNQNAME" >> /home/oracle/.profile
echo "ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE" >> /home/oracle/.profile
echo "ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME" >> /home/oracle/.profile
echo "ORACLE_SID=odx; export ORACLE_SID" >> /home/oracle/.profile
echo "PATH=$ORACLE_HOME/bin:$PATH; export PATH" >> /home/oracle/.profile
echo "LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH" >> /home/oracle/.profile
echo "CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH" >> /home/oracle/.profile
Para comprobar que todo esta bien podemos probar "sqlplus":
oracle@deb664ora11gr2:~$ sqlplus -v
SQL*Plus: Release 11.2.0.1.0 Production
Y tras reiniciar desde "root":
root@deb664ora11gr2:/etc# netstat -lp | grep tnslsnr | grep -v STREAM
tcp 0 0 *:1521 *:* LISTEN 982/tnslsnr
root@deb664ora11gr2:/etc# netstat -lp | grep ora_
tcp6 0 0 [::]:33079 [::]:* LISTEN 1227/ora_d000_odx
udp6 0 0 ip6-localhost:62128 [::]:* 1229/ora_s000_odx
udp6 0 0 [::]:38848 [::]:* 1223/ora_mmon_odx
udp6 0 0 ip6-localhost:37339 [::]:* 1195/ora_pmon_odx
udp6 0 0 ip6-localhost:23137 [::]:* 1227/ora_d000_odx
martes, 4 de septiembre de 2012
Instalando Oracle 11g release 2 en Debian 6.0 (Squeeze) de 64 bits
Partimos de la base de que hemos creado una maquina virtual con cuatro discos de 8GB y 1280MB de RAM:
/dev/sda - Es el primer disco.
/dev/sdb - El segundo.
/dev/sdc - Tercero.
/dev/sdd - Cuarto.
Instalamos el SO (Debian 6.0 de 64 bits), instalando unicamente el servidor SSH y las utilidades estandard del sistema.
En /dev/sda hemos creado las siguientes particiones de tipo EXT4 (Para no complicarlo mucho he elegido este sistema, si el espacio en disco estuviese supeditado a LUNs y similares mejor emplear LVM):
fdisk -l
Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000cdbef
Device Boot Start End Blocks Id System
/dev/sdb1 1 1045 8386560 83 Linux
Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000870d0
Device Boot Start End Blocks Id System
/dev/sda1 1 256 2050048 82 Linux swap / Solaris
Partition 1 does not end on cylinder boundary.
/dev/sda2 256 511 2051072 83 Linux
Partition 2 does not end on cylinder boundary.
/dev/sda3 * 511 1045 4285440 83 Linux
Disk /dev/sdc: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00009b43
Device Boot Start End Blocks Id System
/dev/sdc1 1 1045 8386560 83 Linux
Disk /dev/sdd: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0003d3e5
Device Boot Start End Blocks Id System
/dev/sdd1 1 1045 8386560 83 Linux
/dev/sda - Es el primer disco.
/dev/sdb - El segundo.
/dev/sdc - Tercero.
/dev/sdd - Cuarto.
Instalamos el SO (Debian 6.0 de 64 bits), instalando unicamente el servidor SSH y las utilidades estandard del sistema.
En /dev/sda hemos creado las siguientes particiones de tipo EXT4 (Para no complicarlo mucho he elegido este sistema, si el espacio en disco estuviese supeditado a LUNs y similares mejor emplear LVM):
fdisk -l
Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000cdbef
Device Boot Start End Blocks Id System
/dev/sdb1 1 1045 8386560 83 Linux
Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000870d0
Device Boot Start End Blocks Id System
/dev/sda1 1 256 2050048 82 Linux swap / Solaris
Partition 1 does not end on cylinder boundary.
/dev/sda2 256 511 2051072 83 Linux
Partition 2 does not end on cylinder boundary.
/dev/sda3 * 511 1045 4285440 83 Linux
Disk /dev/sdc: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00009b43
Device Boot Start End Blocks Id System
/dev/sdc1 1 1045 8386560 83 Linux
Disk /dev/sdd: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0003d3e5
Device Boot Start End Blocks Id System
/dev/sdd1 1 1045 8386560 83 Linux
df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda3 4218056 905036 3098748 23% /
tmpfs 642496 0 642496 0% /lib/init/rw
udev 640848 144 640704 1% /dev
tmpfs 642496 0 642496 0% /dev/shm
/dev/sda2 2018832 35800 1880480 2% /tmp
/dev/sdb1 8254904 149492 7686084 2% /u01
/dev/sdc1 8254904 149492 7686084 2% /u02
/dev/sdd1 8254904 149492 7686084 2% /u03
Como el instalador de oracle es grafico y no hemos instalado las X en el servidor, necesitamos un servidor de X, yo me siento mas comodo usando las X de mi portatil con Xubuntu pero voy de describir aqui como exportarlas via una sesion con Putty usando Xming en Windows XP:
Arrancamos Windows e instalamos Xming y Putty. Iniciamos la aplicacion Xming simplemente haciendo doble click en el icono de la aplicacion.
Iniciamos la aplicacion Putty y creamos una conexion SSH a nuestro servidor de la manera habitual solo que en el arbol de la izquierda que muestra Putty, en "Connection -> SSH -> X11" marcamos la casilla "Enable X11 forwarding", volvemos a la seccion "Session" y guardamos la conexion.
Para probar, iniciamos una sesion ssh con el usuario "root" en el servidor e instalamos alguna aplicacion que necesite un servidor grafico, como por ejemplo "xclock", para ello:
apt-get install x11-apps x11-utils
Comprobamos el valor de la variable de entorno DISPLAY:
echo $DISPLAY
Cuyo resultado debe ser "localhost:10.0". Y ejecutamos la aplicacion "xclock" para probar:
xclock
Una vez comprobado el asunto de las X, quien quiera que haga este pequeño tuneado, no es necesario para nada.
Desactivamos el maldito exim4:
update-rc.d exim4 disable
Como lo raro es usar IPV6, desactivamos el servicio SSH en IPV6 que algun recurso ahorrara:
cd /etc/sshd
vi sshd_config
Buscamos la linea:
#ListenAddress 0.0.0.0
Y la descomentamos:
ListenAddress 0.0.0.0
Tras ello, reiniciamos el servicio:
cd /etc/init.d
./ssh restart
Empezamos con oracle.
Antes que nada instalamos algunos paquetillos:
apt-get install libaio1 elfutils gobjc++ libaio-dev sysstat unixodbc unixodbc-dev pdksh expat
Instalamos la libreria "libstdc++5" del siguiente modo para que no nos de problemas con "libstdc++6" que ya viene instalada:
cd /root
mkdir tmp
cd tmp
wget http://ftp.es.debian.org/debian/pool/main/g/gcc-3.3/libstdc++5_3.3.6-20_amd64.deb
dpkg-deb -x libstdc++5_3.3.6-20_amd64.deb libstdc5
cd libstdc5/usr/lib/
cp libstdc++.so.5.0.7 /usr/lib
cd /usr/lib
ln -s libstdc++.so.5.0.7 libstdc++.so.5
cd /root
mkdir tmp
cd tmp
wget http://ftp.es.debian.org/debian/pool/main/g/gcc-3.3/libstdc++5_3.3.6-20_amd64.deb
dpkg-deb -x libstdc++5_3.3.6-20_amd64.deb libstdc5
cd libstdc5/usr/lib/
cp libstdc++.so.5.0.7 /usr/lib
cd /usr/lib
ln -s libstdc++.so.5.0.7 libstdc++.so.5
Creamos el resto de links:
ln -s /usr/bin/basename /bin/basename
ln -s /etc/alternatives/awk /bin/awk
Preparamos los grupos que va ha necesitar oracle, el usuario de oracle y la estructura de directorios:
groupadd oinstall
groupadd dba
useradd oracle -m -d /home/oracle -g oinstall -G dba -s /bin/bash
passwd oracle
groupadd dba
useradd oracle -m -d /home/oracle -g oinstall -G dba -s /bin/bash
passwd oracle
Una vez tenemos los grupos y el usuario pasamos a los directorios:
mkdir -p /u01/app/oracle
mkdir -p /u02/oradata
mkdir -p /u03/recovery
chown -R oracle:oinstall /u01 /u02 /u03
chmod -R 775 /u01 /u02 /u03
mkdir -p /u02/oradata
mkdir -p /u03/recovery
chown -R oracle:oinstall /u01 /u02 /u03
chmod -R 775 /u01 /u02 /u03
Retocamos el sistema temporal de ficheros:
df -h /dev/shm
Filesystem Size Used Avail Use% Mounted on
tmpfs 628M 0 628M 0% /dev/shm
cd /etc
vi fstab
Introducimos la siguiente linea:
tmpfs /dev/shm tmpfs defaults,size=1280M 0 0
Remontamos el punto de montaje:
mount -o remount /dev/shm
df -h /dev/shm
Filesystem Size Used Avail Use% Mounted on
tmpfs 1.3G 0 1.3G 0% /dev/shm
Por convencion he elegido igualar el tamaño de /dev/shm a la memoria RAM, mas tarde en el instalador establecere la memoria para oracle en 1024MB, cosa que no me permitia el tamaño original de /dev/shm.
Llegados a este punto ya podriamos iniciar la instalacion, solo seria necesario iniciar una sesion con el usuario "oracle", dirigirse donde se encuentre el instalador "runInstaller", ejecutarlo y seguir sus instrucciones.
Lo que sucede es que llegados al punto donde el instalador comprueba los requisitos, este fallaria. Para evitarlo se debe ejecutar el instalador con el parametro "-ignoreSysPrereqs". Pero resulta util no usar el parametro para ver que valores indica el instalador son necesarios para nuestro sistema ya que los siguientes comandos definen dichos valores principalmente para el sistema que he usado.
Desde una sesion con el usuario root, ejecutamos lo siguiente para establecer los limites de oracle:
echo "oracle hard nofile 65536" >> /etc/security/limits.conf
echo "oracle hard nproc 16384" >> /etc/security/limits.conf
echo "oracle soft nproc 2047" >> /etc/security/limits.conf
Establecemos los parametros del kernel:
echo "kernel.sem = 250 32000 100 128" >> /etc/sysctl.conf
echo "kernel.shmmax = 536870912" >> /etc/sysctl.conf
echo "fs.file-max = 6815744" >> /etc/sysctl.conf
echo "net.ipv4.ip_local_port_range = 9000 65500" >> /etc/sysctl.conf
echo "net.core.rmem_default = 262144" >> /etc/sysctl.conf
echo "net.core.rmem_max = 4194304" >> /etc/sysctl.conf
echo "net.core.wmem_default = 262144" >> /etc/sysctl.conf
echo "net.core.wmem_max = 1048576" >> /etc/sysctl.conf
echo "fs.aio-max-nr = 1048576" >> /etc/sysctl.conf
sysctl -p
Iniciamos una sesion ssh con Putty como hemos señalado antes con el usuario "oracle":
cd /ruta_al_instalador/
./runInstaller -ignoreSysPrereqs
Una vez iniciado el instalador una de las primeras cosas que pide es configurar la memoria de oracle, por convencion he empleado 1024MB.
Otra de las cosas que el instalador solicitara sera configurar el directorio de oracle, el de la base de datos y el de recuperacion, los asignamos tal que:
oracle -> /u01/app/oracle
base de datos -> /u02/oradata
recuperacion -> /u03/recovery
El resto es seguir las sugerencias del instalador y nuestro capricho. En el siguiente post hablaremos de las tareas de post-instalacion.
Regards.
miércoles, 18 de abril de 2012
Solucion para "libgfortran.so.1: cannot open shared object file: No such file or directory" en instalacion binarios Julia en Xubuntu 11.04 x64
Descargar y descomprimir el binario de "Julia":
wget https://github.com/downloads/JuliaLang/julia/julia-a1fcc12042-Linux-x86_64-glibc25.tar.gz
tar zxvf julia-a1fcc12042-Linux-x86_64-glibc25.tar.gz
Descargar y descomprimir libgfortran1:
wget http://ubuntu.mirror.cambrium.nl/ubuntu//pool/universe/g/gcc-4.1/libgfortran1_4.1.2-21ubuntu1_amd64.deb
ar -x libgfortran1_4.1.2-21ubuntu1_amd64.deb
tar zxvf data.tar.gx
Copiar los ficheros de "/usr/lib" a "/usr/lib/x86_64-linux-gnu"
wget https://github.com/downloads/JuliaLang/julia/julia-a1fcc12042-Linux-x86_64-glibc25.tar.gz
tar zxvf julia-a1fcc12042-Linux-x86_64-glibc25.tar.gz
Descargar y descomprimir libgfortran1:
wget http://ubuntu.mirror.cambrium.nl/ubuntu//pool/universe/g/gcc-4.1/libgfortran1_4.1.2-21ubuntu1_amd64.deb
ar -x libgfortran1_4.1.2-21ubuntu1_amd64.deb
tar zxvf data.tar.gx
Copiar los ficheros de "/usr/lib" a "/usr/lib/x86_64-linux-gnu"
miércoles, 14 de marzo de 2012
Buscar ficheros modificados hoy
find . -ctime 1 -print
viernes, 3 de febrero de 2012
Quien esta usando mi puerto (AIX)
netstat -Aan | grep <port number>
Esto muestra el PCB (protocol control block) en la primera columna.
rmsock <PCB> tcpcb
Esto muestra el proceso que usando ese PCB.
Esto muestra el PCB (protocol control block) en la primera columna.
rmsock <PCB> tcpcb
Esto muestra el proceso que usando ese PCB.
domingo, 15 de enero de 2012
Como conectar a VPN Cisco con "vpnc" usando certificado "crt"
Primero instalamos el cliente linux para VPNs Cisco "vpnc" y el material necesario:
sudo cp cisco-decrypt /usr/bin
sudo cp pcf2vpnc /usr/bin
sudo apt-get install libgcrypt11 libgcrypt11-dev libssl-dev libssl0.9.8 vpnc resolvconf
Comprobamos que se ha instalado con soporte SSL:
vpnc --version
Si aparece la siguiente linea vpnc se ha instalado con soporte SSL:
Supported Auth-Methods: psk psk+xauth hybrid(rsa)
Copiamos el fichero .crt a /etc/vpnc:
sudo cp foo.crt /etc/vpnc
Si disponemos de fichero .pcf de configuracion debemos convertirlo a fichero .conf para vpnc, para lo cual necesitamos cisco-decrypt.c y pcf2vpnc:
wget http://www.joepcremers.com/wordpress/wp-content/files/cisco-decrypt.c
gcc -Wall -o cisco-decrypt cisco-decrypt.c $(libgcrypt-config
--
libs --
cflags)
chmod +x cisco-decrypt
sudo cp cisco-decrypt /usr/bin
wget http://svn.unix-ag.uni-kl.de/vpnc/trunk/pcf2vpnc
sudo cp pcf2vpnc /usr/bin
pcf2vpnc foo.pcf > foo.conf
sudo cp foo.conf /etc/vpnc/
Añadir las siguientes lineas al fichero foo.conf:
sudo vi /etc/vpnc
IKE Authmode hybrid
CA-File /etc/vpnc/foo.crt
Ejemplo de fichero .conf:
## generated by pcf2vpnc
IPSec ID foo
IPSec gateway vpn.foo.com
IPSec secret dajhfñakjedhfñEWU1VJdsañj
IKE Authmode hybrid
CA-File /etc/vpnc/foo.crt
## To add your username and password,
## use the following lines:
# Xauth username <your username>
# Xauth password <your password>
sudo vi /etc/vpnc
IKE Authmode hybrid
CA-File /etc/vpnc/foo.crt
Ejemplo de fichero .conf:
## generated by pcf2vpnc
IPSec ID foo
IPSec gateway vpn.foo.com
IPSec secret dajhfñakjedhfñEWU1VJdsañj
IKE Authmode hybrid
CA-File /etc/vpnc/foo.crt
## To add your username and password,
## use the following lines:
# Xauth username <your username>
# Xauth password <your password>
jueves, 22 de diciembre de 2011
Activar las malditas URLs limpias en Drupal 7.10
Sistema -> Debian 6.0 64bits con Apache2
cd /etc/apache2/sites-available
vi default
Cambiar:
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
Por:
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
En el caso de que drupal este instalado en:
/var/www
cd /etc/apache2/sites-available
vi default
Cambiar:
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
Por:
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
En el caso de que drupal este instalado en:
/var/www
domingo, 18 de diciembre de 2011
Como forzar a tomcat6 a usar el puerto 80 en debian 6.0 64bits
vi /etc/tomcat6/server.xml
Bucar:
port="8080"
Substituir por:
Bucar:
port="8080"
Substituir por:
port="80"
vi /etc/default/tomcat6
Buscar:
#AUTHBIND=no
Substituir por:
Reiniciar tomcat.
vi /etc/default/tomcat6
Buscar:
#AUTHBIND=no
Substituir por:
AUTHBIND=yes
Como forzar tomcat6 a escuchar en ipv4 debian 6.0 64
vi /etc/default/tomcat6
Modificar:
JAVA_OPTS="-Djava.awt.headless=true -Xmx128m -XX:+UseConcMarkSweepGC"
a:
JAVA_OPTS="-Djava.net.preferIPv4Stack=true -Djava.awt.headless=true
-Xmx128m -XX:+UseConcMarkSweepGC"
Reiniciar tomcat.
sábado, 10 de septiembre de 2011
Como hacer port forwarding a través de un tunel ssh
Redirigimos un puerto "puerto1" en la "maquina1" a otro puerto "puerto2" en la "maquina2":
user@maquina1$ ssh user@maquina2 -L puerto1:maquina2:puerto2 -g
Ahora el puerto "puerto2" de la maquina "maquina2" es accesible por medio del puerto "puerto1" de la maquina "maquina1".
user@maquina1$ ssh user@maquina2 -L puerto1:maquina2:puerto2 -g
Ahora el puerto "puerto2" de la maquina "maquina2" es accesible por medio del puerto "puerto1" de la maquina "maquina1".
lunes, 5 de septiembre de 2011
Como instalar Oracle XE en Debian 6.0 de 64bits
Primero obtenemos el material que vamos a necesitar:
sudo apt-get install ia32-libs
sudo apt-get install libaio1
Obtenemos el Oracle XE versión 32bits:
wget http://oss.oracle.com/debian/dists/unstable/non-free/binary-i386/oracle-xe-universal_10.2.0.1-1.1_i386.deb
Procedemos a su instalación:
sudo dpkg --force-architecture -i oracle-xe-universal_10.2.0.1-1.1_i386.deb
sudo apt-get install ia32-libs
sudo apt-get install libaio1
Obtenemos el Oracle XE versión 32bits:
wget http://oss.oracle.com/debian/dists/unstable/non-free/binary-i386/oracle-xe-universal_10.2.0.1-1.1_i386.deb
Procedemos a su instalación:
sudo dpkg --force-architecture -i oracle-xe-universal_10.2.0.1-1.1_i386.deb
Añadimos las variables de entorno a nuestro perfil de usuario y al perfil por defecto de creación de usuarios:
vi ~/.bashrc
export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
export ORACLE_OWNER=oracle
export ORACLE_SID=XE
export LSNR=$ORACLE_HOME/bin/lsnrctl
export SQLPLUS=$ORACLE_HOME/bin/sqlplus
export PATH=$ORACLE_HOME/bin:$PATH
vi /etc/skel/.bashrc
export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
export ORACLE_OWNER=oracle
export ORACLE_SID=XE
export LSNR=$ORACLE_HOME/bin/lsnrctl
export SQLPLUS=$ORACLE_HOME/bin/sqlplus
export ORACLE_SID=XE
export LSNR=$ORACLE_HOME/bin/lsnrctl
export SQLPLUS=$ORACLE_HOME/bin/sqlplus
export PATH=$ORACLE_HOME/bin:$PATH
viernes, 26 de agosto de 2011
Como redimensionar la swap en Debian 6
Verificamos si esta activada la swap:
free
total used free shared buffers cached
Mem: 1027264 64220 963044 0 6012 19464
-/+ buffers/cache: 38744 988520
Swap: 522232 0 522232
Antes que nada hay que desactivarla:
sudo swapoff -a
free
total used free shared buffers cached
Mem: 1027264 63388 963876 0 5984 18732
-/+ buffers/cache: 38672 988592
Swap: 0 0 0
Comprobamos en que device esta montada la swap mirando el fichero "fstab" de /etc:
cat /etc/fstab
# swap was on /dev/sdj1 during installation
UUID=f8ff33ba-79ad-4fc0-887e-6f701e78fd3d none swap sw 0 0
Comprobamos a que device corresponde el UUID:
ls -l /dev/disk/by-uuid/
lrwxrwxrwx 1 root root 10 ago 26 10:18 f8ff33ba-79ad-4fc0-887e-6f701e78fd3d -> ../../sdj1
Comprobamos de cuanto espacio libre disponemos:
sudo parted /dev/sdj print free
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sdj: 1342MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
32,3kB 1049kB 1016kB Free Space
1 1049kB 536MB 535MB primary linux-swap(v1)
536MB 1342MB 806MB Free Space
Una vez deshabilitada borramos la partición:
sudo parted /dev/sdj rm 1
Creamos una nueva partición incluyendo el sistema de ficheros con:
Comprobamos como queda la particion:
sudo parted /dev/sdj print free
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sdj: 1342MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
32,3kB 1049kB 1016kB Free Space
1 1049kB 1342MB 1341MB primary linux-swap(v1)
sudo fdisk -l /dev/sdj
Disk /dev/sdj: 1342 MB, 1342177280 bytes
46 heads, 10 sectors/track, 5698 cylinders
Units = cylinders of 460 * 512 = 235520 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000d99d3
Device Boot Start End Blocks Id System
/dev/sdj1 5 5699 1309696 82 Linux swap / Solaris
Generamos la swap:
sudo mkswap /dev/sdj1
Setting up swapspace version 1, size = 1309692 KiB
no label, UUID=7c7cfafe-03b2-4340-9ed3-3bef3a2be6b7
Esto genera un nuevo UUID:
ls -l /dev/disk/by-uuid/
lrwxrwxrwx 1 root root 10 ago 26 10:18 7c7cfafe-03b2-4340-9ed3-3bef3a2be6b7 -> ../../sdj1
Tras esto debemos actualizar la entrada para la swap del fichero "fstab" en /etc:
sudo vi /etc/fstab
# swap was on /dev/sdj1 during installation
UUID=7c7cfafe-03b2-4340-9ed3-3bef3a2be6b7 none swap sw 0 0
Una vez actualizado el fichero podemos reactivar la swap y ver como queda:
sudo swapon -a
free
total used free shared buffers cached
Mem: 1027264 66000 961264 0 6132 20704
-/+ buffers/cache: 39164 988100
Swap: 1309688 0 1309688
free
total used free shared buffers cached
Mem: 1027264 64220 963044 0 6012 19464
-/+ buffers/cache: 38744 988520
Swap: 522232 0 522232
Antes que nada hay que desactivarla:
sudo swapoff -a
free
total used free shared buffers cached
Mem: 1027264 63388 963876 0 5984 18732
-/+ buffers/cache: 38672 988592
Swap: 0 0 0
Comprobamos en que device esta montada la swap mirando el fichero "fstab" de /etc:
cat /etc/fstab
# swap was on /dev/sdj1 during installation
UUID=f8ff33ba-79ad-4fc0-887e-6f701e78fd3d none swap sw 0 0
Comprobamos a que device corresponde el UUID:
ls -l /dev/disk/by-uuid/
lrwxrwxrwx 1 root root 10 ago 26 10:18 f8ff33ba-79ad-4fc0-887e-6f701e78fd3d -> ../../sdj1
Comprobamos de cuanto espacio libre disponemos:
sudo parted /dev/sdj print free
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sdj: 1342MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
32,3kB 1049kB 1016kB Free Space
1 1049kB 536MB 535MB primary linux-swap(v1)
536MB 1342MB 806MB Free Space
Una vez deshabilitada borramos la partición:
sudo parted /dev/sdj rm 1
Creamos una nueva partición incluyendo el sistema de ficheros con:
sudo parted /dev/sdj mkpart primary linux-swap 1049kB 1342MB
Comprobamos como queda la particion:
sudo parted /dev/sdj print free
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sdj: 1342MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
32,3kB 1049kB 1016kB Free Space
1 1049kB 1342MB 1341MB primary linux-swap(v1)
sudo fdisk -l /dev/sdj
Disk /dev/sdj: 1342 MB, 1342177280 bytes
46 heads, 10 sectors/track, 5698 cylinders
Units = cylinders of 460 * 512 = 235520 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000d99d3
Device Boot Start End Blocks Id System
/dev/sdj1 5 5699 1309696 82 Linux swap / Solaris
Generamos la swap:
sudo mkswap /dev/sdj1
Setting up swapspace version 1, size = 1309692 KiB
no label, UUID=7c7cfafe-03b2-4340-9ed3-3bef3a2be6b7
Esto genera un nuevo UUID:
ls -l /dev/disk/by-uuid/
lrwxrwxrwx 1 root root 10 ago 26 10:18 7c7cfafe-03b2-4340-9ed3-3bef3a2be6b7 -> ../../sdj1
Tras esto debemos actualizar la entrada para la swap del fichero "fstab" en /etc:
sudo vi /etc/fstab
# swap was on /dev/sdj1 during installation
UUID=7c7cfafe-03b2-4340-9ed3-3bef3a2be6b7 none swap sw 0 0
Una vez actualizado el fichero podemos reactivar la swap y ver como queda:
sudo swapon -a
free
total used free shared buffers cached
Mem: 1027264 66000 961264 0 6132 20704
-/+ buffers/cache: 39164 988100
Swap: 1309688 0 1309688
sábado, 20 de agosto de 2011
Como buscar exclusivamente los ficheros y directorios ocultos con find
find . -regex '.*/\..*'
La expresión regular '.*/\..*' se puede interpretar como:
.* - cualquier cadena de caracteres
/ - barra
\. - punto
.* - cualquier cadena de caracteres
La expresión regular '.*/\..*' se puede interpretar como:
.* - cualquier cadena de caracteres
/ - barra
\. - punto
.* - cualquier cadena de caracteres
Copiar ficheros preservando los atributos
A veces por ejemplo queremos hacer replicas de puntos de montaje como el /usr para después desmontarlo y guarrear con el montando la copia temporalmente. Si decidimos realizar la replica copiando /usr hemos de tener en cuenta los atributos de los ficheros que contiene o mas tarde herramientas como sudo no funcionaran, por lo tanto:
sudo cp --preserve=all -R $origen $destino
sudo cp --preserve=all -R $origen $destino
viernes, 19 de agosto de 2011
Como redimensionar una partición ext4 sin perdida de datos
Este procedimiento es valido para puntos de montaje por decirlo de algún modo secundarios del sistema, por ejemplo el /srv.
df -h /srv
Filesystem Size Used Avail Use% Mounted on
/dev/sdg1 123M 5,6M 111M 5% /srv
Primero desmontamos el punto de montaje del dispositivo en el que se halla montado:
sudo umount /srv
Miramos como esta el asunto y nos anotamos los parámetros "Number" y "Start" de la partición a redimensionar y el parámetro "End" del espacio libre que nos queda:
sudo parted /dev/sdg print free
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sdg: 2147MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
32,3kB 1049kB 1016kB Free Space
1 1049kB 133MB 132MB primary ext4
133MB 2147MB 2014MB Free Space
Borramos la partición y la volvemos a crear usando los parámetros "Start" y "End" que hemos obtenido como referencia:
sudo parted /dev/sdg rm 1
sudo parted /dev/sdg mkpart primary ext4 1049kB 2147MB
Volvemos a mirar como queda:
sudo parted /dev/sdg print free
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sdg: 2147MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
32,3kB 1049kB 1016kB Free Space
1 1049kB 2147MB 2146MB primary ext4
Obtenemos los bloques de la nueva partición:
sudo fdisk -l /dev/sdg
Disk /dev/sdg: 2147 MB, 2147483648 bytes
22 heads, 16 sectors/track, 11915 cylinders
Units = cylinders of 352 * 512 = 180224 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000486b3
Device Boot Start End Blocks Id System
/dev/sdg1 6 11916 2096128 83 Linux
Chequeamos el sistema de ficheros:
sudo e2fsck -f /dev/sdg1
e2fsck 1.41.12 (17-May-2010)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdg1: 15/516096 files (0.0% non-contiguous), 72236/2096128 blocks
Expandimos el sistema de ficheros:
sudo resize2fs /dev/sdg1 2096128
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/sdg1 to 2096128 (1k) blocks.
The filesystem on /dev/sdg1 is now 2096128 blocks long.
Montamos el sistema de ficheros y miramos como queda:
sudo mount /dev/sdg1 /srv
df -h /srv
Filesystem Size Used Avail Use% Mounted on
/dev/sdg1 2,0G 7,0M 1,9G 1% /srv
df -h /srv
Filesystem Size Used Avail Use% Mounted on
/dev/sdg1 123M 5,6M 111M 5% /srv
Primero desmontamos el punto de montaje del dispositivo en el que se halla montado:
sudo umount /srv
Miramos como esta el asunto y nos anotamos los parámetros "Number" y "Start" de la partición a redimensionar y el parámetro "End" del espacio libre que nos queda:
sudo parted /dev/sdg print free
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sdg: 2147MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
32,3kB 1049kB 1016kB Free Space
1 1049kB 133MB 132MB primary ext4
133MB 2147MB 2014MB Free Space
Borramos la partición y la volvemos a crear usando los parámetros "Start" y "End" que hemos obtenido como referencia:
sudo parted /dev/sdg rm 1
sudo parted /dev/sdg mkpart primary ext4 1049kB 2147MB
Volvemos a mirar como queda:
sudo parted /dev/sdg print free
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sdg: 2147MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
32,3kB 1049kB 1016kB Free Space
1 1049kB 2147MB 2146MB primary ext4
Obtenemos los bloques de la nueva partición:
sudo fdisk -l /dev/sdg
Disk /dev/sdg: 2147 MB, 2147483648 bytes
22 heads, 16 sectors/track, 11915 cylinders
Units = cylinders of 352 * 512 = 180224 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000486b3
Device Boot Start End Blocks Id System
/dev/sdg1 6 11916 2096128 83 Linux
Chequeamos el sistema de ficheros:
sudo e2fsck -f /dev/sdg1
e2fsck 1.41.12 (17-May-2010)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdg1: 15/516096 files (0.0% non-contiguous), 72236/2096128 blocks
Expandimos el sistema de ficheros:
sudo resize2fs /dev/sdg1 2096128
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/sdg1 to 2096128 (1k) blocks.
The filesystem on /dev/sdg1 is now 2096128 blocks long.
Montamos el sistema de ficheros y miramos como queda:
sudo mount /dev/sdg1 /srv
df -h /srv
Filesystem Size Used Avail Use% Mounted on
/dev/sdg1 2,0G 7,0M 1,9G 1% /srv
Como averiguar la ip externa desde la linea de comandos
curl -s checkip.dyndns.org | grep -Eo '[0-9\.]+'
Desactivar servicios en Debian 6.0
update-rc.d $servicio disable
Copy/Paste con vi
Posicionar el cursor en la linea del texto a copiar.
"yy"
Posicionar el cursor en la linea donde se quiere pegar el texto:
"P"
"yy"
Posicionar el cursor en la linea donde se quiere pegar el texto:
"P"
Suscribirse a:
Entradas (Atom)