Archive for 29 diciembre 2011

h1

error El controlador de disco para /dev/sda1 no está listo o presente. Continué esperando o pulse S para omitir o M para recuperar manualmente.

29/12/2011

Si se produce el siguiente error:

El controlador de disco para /dev/sda1 no está listo o presente. Continue esperando o pulse S para omitir o M para recuperar manualmente.
The disk drive for /media/miDisco is not ready yet or not present. Continue to wait; or Press S to skip mounting or M for manual recovery

se debe a que en el arranque no se ha encontrado una unidad de almacenamiento definida en /etc/fstab. Para que la espera no sea bloqueante, es necesario añadir el parámetro “nobootwait” en su definición del fstab:

UUID=abcd /media/miDisco vfat utf8,auto,rw,user 0 0
UUID=abcd /media/miDisco vfat utf8,auto,rw,user,nobootwait 0 0

Anuncios
h1

Error compilando kissdx, strip ‘kissdx.exe’ No such file

18/12/2011

Si al compilar el software Kissdx (utilidad epara poder montar un servidor de streaming en Linux para los DVDs de Kiss/Linksys), se produce el siguiente error:

gcc -DLinux -DUSE_INTERNAL_SENDFILE -std=gnu99 -O2 -Wall -Wstrict-prototypes -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -c -o gdstuff/gd_security.o gdstuff/gd_security.c
gcc -o kissdx kissdx.o connection.o sendfile.o dvdread.o playlist.o jpeg.o piccache.o utils.o config.o backtoback.o cmdclient.o cmdserver.o gdstuff/gdstuff.o gdstuff/gd.o gdstuff/gdfontg.o gdstuff/gd_jpeg.o gdstuff/gdhelpers.o gdstuff/gd_io_dp.o gdstuff/gd_io.o gdstuff/gd_security.o -ldvdread -ljpeg -lm
strip kissdx.exe
strip: 'kissdx.exe': No such file
make: *** [kissdx] Error 1

Ocurre por un bug en el Makefile, que referencia a un fichero de salida que no existe. La solución consiste en apenas cambiar en el Makefile el nombre del binario de salida, de “kissdx.exe” a “kissdx”:

$nano Makefile
strip kissdx.exe
strip kissdx

h1

Error /usr/bin/ld: cannot find -liconv compilando Kissdx

18/12/2011

Si al compilar el software Kissdx (utilidad epara poder montar un servidor de streaming en Linux para los DVDs de Kiss/Linksys), se produce el siguiente error:

gcc -DLinux -DUSE_INTERNAL_SENDFILE -std=gnu99 -O2 -Wall -Wstrict-prototypes -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -c -o gdstuff/gd_io.o gdstuff/gd_io.c
gcc -DLinux -DUSE_INTERNAL_SENDFILE -std=gnu99 -O2 -Wall -Wstrict-prototypes -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -c -o gdstuff/gd_security.o gdstuff/gd_security.c
gcc -o kissdx kissdx.o connection.o sendfile.o dvdread.o playlist.o jpeg.o piccache.o utils.o config.o backtoback.o cmdclient.o cmdserver.o gdstuff/gdstuff.o gdstuff/gd.o gdstuff/gdfontg.o gdstuff/gd_jpeg.o gdstuff/gdhelpers.o gdstuff/gd_io_dp.o gdstuff/gd_io.o gdstuff/gd_security.o -ldvdread -liconv -ljpeg -lm
/usr/bin/ld: cannot find -liconv
collect2: ld devolvió el estado de salida 1
make: *** [kissdx] Error 1

Es debido a que esa opción, en sistemas basados en Debian (como Ubuntu) es necesario quitarla. Para ello editar el fichero Makefile comentando la línea que incluye el parámetro “-liconv”, y descomentando la siguiente (que no lo lleva), quedando de la siguiente manera:
$ nano Makefile
(...)
# $(CC) -o $@ $(OBJS) -ldvdread -liconv -ljpeg -lm $(EXTRA_LIBS)
$(CC) -o $@ $(OBJS) -ldvdread -ljpeg -lm $(EXTRA_LIBS)
(...)

Y comenzar desde cero borrando la anterior compilación:
$ make clean
$ sudo make
$ sudo make install

h1

Mplayer supera el tiempo de grabación en streams / Mplayer exceeds the recording time recording streams

18/12/2011

Mplayer 1.0rc3-4.4.4 no graba correctamente, a pesar del parámetro “endpos”, streams de Internet si se le especifica una duración determinada, sobrepasándola habitualmente. Como workaround se puede embeber mplayer en un script con una duración determinada, matando el proceso tras la duración establecida de la grabación:

#!/bin/bash
PID="$!"
segundos=100
emisora=mms://ondacerolivewm.fplive.net/ondacerowmlive-live/oc_madrid
mplayer -really-quiet -nolirc -noframedrop -dumpfile prueba.asf -dumpstream $emisora &
PID="$!"
sleep "${segundos}"
kill "${PID}"

Fuente: http://lists.mplayerhq.hu/pipermail/mplayer-users/2008-June/073285.html

h1

Monit no envía correos por Gmail / Monit doesn’t send mails through Gmail (SSL)

18/12/2011

Si se desean enviar emails de notificación con Monit a través de un SMTP que utilice conexión cifrada (SSL), es necesario recompilar Monit con soporte SSL. Para ello:

1º) Descargar y descomprimir las fuentes:
$ wget http://mmonit.com/monit/dist/monit-5.3.1.tar.gz
$ tar xvfz monit-5.3.1.tar.gz

2º) Instalarlo:
$ ./configure
(...)
checking for SSL support... enabled
checking for SSL include directory... /usr/include
checking for SSL library directory... Not found
Couldn't find your SSL library files.
Use --with-ssl-lib-dir option to fix this problem or disable the
SSL support with --without-ssl
(...)

En caso de que se produzca esta salida, instalar libssl:

$ sudo apt-get install libssl0.9.8

de modo que tras volver a ejecutar ./configure se obtendrá:

| Monit has been configured with the following options:      
  PAM support:                                  ENABLED      
  SSL support:                                  ENABLED    
  Large files support:                       ENABLED          
  Optimized:                                    DISABLED      

Despuéss:

# make
# make install

Posteriormente para configurar un smtp como Gmail con ssl:

$ nano /etc/monit/monitrc
(...)
set mailserver “smtp.gmail.com” port “587”
username mimonit@gmail.com password “mipassword”
using tlsv1
with timeout 30 seconds
set alert john.doe@gmail.com

(...)

Fuente:
http://csrdu.org/toqeer/2010/07/27/monit-installation-and-configuration/

h1

Cómo montar servidor de webssh

12/12/2011

Es habitual que en entornos altamente securizados ciertos canales ó puertos estén filtrados, entre ellos las conexiones SSH. Para evitar esta limitación, se puede hacer uso de un servidor web que de acceso a una shell por SSH. Para ello existen diversas opciones como shellinabox, que mediante un optimizado interfaz en Ajax permite disponer de una shell/ssh por https. Para instalarlo es necesario realizar los siguientes pasos:

1º) Descargar el paquete adecuado:
http://code.google.com/p/shellinabox/downloads/list

2º) Instalarlo
$ dpkg -i shellinabox_2.10-1_amd64.deb

3º) Cambiar el método de logueo desde LOGIN a SSH, especificándolo en el fichero de configuración:
root@pilar002:/# cd /etc/default
root@pilar002:/etc/default# cp shellinabox shellinabox_OLD
root@pilar002:/etc/default# nano shellinabox
(...)
SHELLINABOX_PORT=4200
#SHELLINABOX_ARGS="--no-beep --service=/:SSH"
SHELLINABOX_ARGS="--no-beep --service=/:SSH"

4º) Crear un nuevo certificado propio:

# cd /var/lib/shellinabox
# openssl genrsa -des3 -out server.key 1024
# openssl req -new -key server.key -out server.csr
# cp server.key server.key.org
# openssl rsa -in server.key.org -out server.key
# openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
# cat server.crt server.key > certificate.pem

5º) Reiniciar shellinabox
# /etc/init.d/shellinabox restart

6º) Conectar con un navegador a la dirección de la máquina, puerto 4200:
http://localhost:4200

h1

Ejecutar un scp en background

11/12/2011

Si se necesita enviar por scp un archivo de gran tamaño y es necesario cerrar la sesión al mismo tiempo, generalmente con “nohup” no se suele conseguir. Existe la alternativa de screen:

carlos@w:~$ sudo apt-get install screen

carlos@w:~$ screen -Amd scp fichero.grande.tar.gz carlos@172.26.0.5:

Para acceder al proceso, ejecutar:
carlos@w:~$ screen -r
Introduciendo en ese momento la contraseña para iniciar el envío (si fuese necesario).

Para salir de screen (volviendo a la consola) dejando el proceso scp enviando el fichero,
CTRL+a y después pulsar "d"

Fuente : UbuntuForums