Archive for the ‘Uncategorized’ Category

h1

Como pasar fsck en el arranque sin pedir intervención del usuario

24/11/2007

En muchos sistemas administrados remotamente es frecuente que al reiniciarlos presenten alguna inconsistencia en el sistema de archivos. Esto hace que se ejecute una recuperación con fsck pero generalmente, ante una duda, suele pedir la intervención del usuario:


/dev/hdc1 contains a file system with errors, check forced.
/dev/hdc1:
Inode 4642102 has illegal block(s).

/dev/hdc1: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
(i.e., without -a or -p options)
fsck died with exit status 4

give root pasword for maintenance.
(or type control-D for normal startup)

Al no tener acceso via ssh (el demonio no se ha cargado aun), la solución para este problema de fsck es:

1º) Editar el fichero de configuración:
sudo nano /etc/default/rcS

2º) Cambiar la variable FSCKFIX a «yes»
FSCKFIX=yes

Teniendo esta inconveniencia salvada.

h1

Problema de teclado en tightvncserver y gnome

30/09/2007

Si al instalar tightvncserver, vino o vncserver sobre una versión actual de Gnome se produce una desconfiguración del teclado al acceder por vnc (mientras que en sesión local, ssh u otras funciona correctamente) talque al escribir por ejemplo «asd» lo interpreta como «abf», se puede corregir (mientras se espera que incluyan una solución oficial los desarrolladores) de la siguiente manera:

1.- Ejecutar /usr/bin/gconf-editor(mediante la navegación con el ratón por los directorios del sistema con Nautilus).

2.- Buscar la entrada /desktop/gnome/peripherals/keyboard/kbd

3.- Editar la entrada «layouts», borrando todos sus valores y dejando sólo uno incorrecto (si sólo existe uno US-145 por ejemplo, cambiarlo por «asd» por ejemplo).

4.- Cerrarlo y reiniciar.

El método no es muy ortodoxo pero soluciona el problema temporalmente. Fuente.

h1

Programar la grabación de emisoras de radio online mediante el cron

23/09/2007

Update Jan/2012:
– Conversión de todo lo grabado a Ogg. Es necesario instalar el paquete «pacpl«.

Update Dic/2011:
– correcciones en la grabación de protocolos MMS para no grabar más de lo previsto.
– Actualización de algunas emisoras de radio y programas.
– Limpieza del código.

Una utilidad que uso a menudo es la grabación online de emisoras de radio (Ondacero, Puntoradio, etc), mediante la programación de esta tarea en el cron.

Para ello hago uso de este script: (salvarlo en un fichero de texto y darle permiso de ejecución)

#!/bin/bash

# Script para la grabacion de un programa de radio por internet.

# 1º) Idea original de http://www.tabernadelturco.com)
# 2º) Modificación de Pplux (www.pplux.com)
# 3º) Modificación actual: Carlos Gacimartín (cgacimartin@gmail.com)

#PARÁMETROS:
#grabar_radio ondacero 120 <- graba Ondacero durante 120 minutos a partir de su ejecución inmediata, por lo que se programa desde el cron.
#grabar_radio julianenlaonda 120 /dev/null #El valor devuelto (0, 1 o 2) se guarda automáticamente en $?
if [ $? -ne 0 ] ; then
echo «- Error 3: Streamripper no encontrado. Por favor instale ‘Streamripper’ para poder ejecutar correctamente la grabación»
echo «- Error 3: Streamripper no encontrado. Por favor instale ‘Streamripper’ para poder ejecutar correctamente la grabación» >> /var/log/grabar_radio.log
exit 0
fi

which mimms > /dev/null #El valor devuelto (0, 1 o 2) se guarda automáticamente en $?
if [ $? -ne 0 ] ; then
echo «- Error 3: mimms no encontrado. Por favor instale ‘mimms’ para poder ejecutar correctamente la grabación»
echo «- Error 3: mimms no encontrado. Por favor instale ‘mimms’ para poder ejecutar correctamente la grabación» >> /var/log/grabar_radio.log
exit 0
fi

#Sanear entrada, comprobar que al menos están los dos parámetros requeridos y son válidos:
#Comprobar parámetro 1: Comprar con los valores posibles:

#La hora la establece el propio script si el programa es conocido y no se ha indicado ninguna (ej: GOmaespuma, que va de 16:00 a 19:00 y no hace falta que el usuariola introduzca)
#variable software: como Streamripper no soporta el protocolo MMS y el prog. MiMMS no soporta streaming por http, hay que incluir a los dos y utilizar el que corresponda con cada emisora.

software=streamripper
minutos=$2

case $1 in
julian* | Julia* | JULIA* )
echo «Emisora: Gomaespuma en Ondacero»
emisora=mms://ondacerolivewm.fplive.net/ondacerowmlive-live/oc_madrid
software=mimms
#horaInicio=16:00 #Ver como se maneja las horas con este formato
#horaFinal=19:00
minutos=175
programa=JuliaenLaOnda

;;
josemi* | JOSEMI* | Josemi* )
echo «Josemi Rodríguez Sieiro en Herrera en la Onda, Ondacero»
emisora=mms://ondacerolivewm.fplive.net/ondacerowmlive-live/oc_madrid
#emisora=mms://ondacerolivewm.fplive.net/ondacerowmlive-live/oc_madrid
software=mimms
#minutos=27
minutos=2
programa=Josemi.Rodriguez.Sieiro.Rodriguez.Vila.Carlos.Herrera.Onda.Cero
;;

rosav* | ROSAV* | larosa* | LAROSADE* )
echo «La Rosa de los Vientos, Juan Antonio Cebrián, Ondacero»
emisora=mms://ondacerolivewm.fplive.net/ondacerowmlive-live/oc_madrid
software=mimms
minutos=150
#horaInicio=1:30
#horaFinal=4:00
programa=LaRosaDeLosVientos
;;

galicia* | GALICIA* )
echo «Galicia – Alba»
emisora=mms://ondacerolivewm.fplive.net/ondacerowmlive-live/oc_santiago
software=mimms
minutos=90
#horaInicio=1:30
#horaFinal=4:00
programa=OndaceroGalicia
;;

ondace* | ONDACE* )
echo «Ondacero»
emisora=mms://ondacerolivewm.fplive.net/ondacerowmlive-live/oc_madrid
software=mimms
minutos=$2
programa=Ondacero
;;

lucesenlaoscuridad* | LUCESENLAOSCURIDAD* | LucesEnLaOscuridad* | Lucesenlaoscuridad* )
echo «Luces en la oscuridad, Pedro Ribas, Puntoradio»
emisora=http://streaming.puntoradio.com
software=streamripper
programa=Luces.En.La.Oscuridad
minutos=210
;;

puntor* | PUNTOR* | Puntor* | PuntoR* )
echo «Puntoradio»
emisora=http://streaming.puntoradio.com
software=streamripper
programa=Puntoradio
;;

los40* | LOS40* | 40P | 40p* )
echo «Los 40 Principales»
emisora=http://a992.l783922627.c7839.e.lm.akamaistream.net/D/992/7839/v0001/reflector:22627
software=streamripper
programa=Los40principales
;;

SERDIGIT* | serdigit* | SERdigit* | Serdigit* | SERDigit* )
echo «SER Digital, Chema Lapuente»
emisora=mms://a874.l784138873.c7841.e.lm.akamaistream.net/D/874/7841/v0001/reflector:38873
minutos=25
software=mimms
programa=SERdigital
;;

Lascript* | lascript* | LaScript* )
echo «El cine de lo que yo te diga, Cadena SER»
emisora=mms://a874.l784138873.c7841.e.lm.akamaistream.net/D/874/7841/v0001/reflector:38873
minutos=120
software=mimms
programa=ElCineDeLoQueYoTeDiga
;;

SER | ser | CadenaSer | Cadenaser | cadenaSer | cadenaser )
echo «Cadena SER»
emisora=mms://a874.l784138873.c7841.e.lm.akamaistream.net/D/874/7841/v0001/reflector:38873
software=mimms
programa=CadenaSER
;;

m80 | M80 )
echo «M80»
emisora=http://a624.l857421577.c8574.e.lm.akamaistream.net/D/624/8574/v0001/reflector:21577
software=streamripper
programa=M80
;;

Cadenadial | cadenadial | CadenaDial | cadenaDial )
echo «Cadena Dial «
emisora=http://a371.l1136133678.c11361.e.lm.akamaistream.net/D/371/11361/v0001/reflector:33678
software=streamripper
programa=CadenaDial
;;

MaximaFM | MaxFM | maximafm | maximaFM | maxfm | Maximafm )
echo «Maxima FM «
emisora=http://a225.l857520540.c8575.e.lm.akamaistream.net/D/225/8575/v0001/reflector:20540
software=streamripper
programa=MaximaFM
;;

rne1 | rneradio1 | RNE1 | RNEradio1 | RNERadio1 )
echo «Radio Nacional de España Radio 1 «
emisora=http://a729.l830022151.c8300.e.lm.akamaistream.net/D/729/8300/v0001/reflector:22151
software=streamripper
programa=RNE1
;;

rneradioclasica | RNEradioclasica | RNERadioClasica | radioclasica | RadioClasica | radioClasica | Radioclasica )
echo «Radio Nacional de España Radio Clásica «
emisora=http://a1247.l910622804.c9106.e.lm.akamaistream.net/D/1247/9106/v0001/reflector:22804
software=streamripper
programa=RNE_RadioClasica
;;

rneradio3 | RNEradio3 | RNERadio3 | radio3 | Radio3 )
echo «Radio Nacional de España Radio 3 «
emisora=http://a1830.l830120550.c8301.e.lm.akamaistream.net/D/1830/8301/v0001/reflector:20550
software=streamripper
programa=RNE_Radio3
;;

rneradio4 | RNEradio4 | RNERadio4 | radio4 | Radio4 )
echo «Radio Nacional de España Radio 4 «
emisora=hmms://a783.l1041530780.c10415.e.lm.akamaistream.net/D/783/10415/v0001/reflector:30780
software=mimms
programa=RNE_Radio4
;;

rneradio5 | RNEradio5 | RNERadio5 | radio5 | Radio5 )
echo «Radio Nacional de España Radio 5»
emisora=http://a1360.l910520572.c9105.e.lm.akamaistream.net/D/1360/9105/v0001/reflector:20572
software=streamripper
programa=RNE_Radio5
;;

rneradioexteriordeespaña | RNEradioexter* | radionacionaldeespañaradioext* | radioexter* | RadioExt* | Radioext* )
echo «Radio Nacional de España Radio Exterior»
emisora=http://a259.l773120483.c7731.e.lm.akamaistream.net/D/259/7731/v0001/reflector:20483
software=streamripper
programa=RNE_radioexterior
;;

RadioMarca | radiomarca | Radiomarca | radioMarca | Marca | marca )
echo «Radio Marca «
emisora=mms://wmedia.recoletos.es/radiomarca
software=mimms
programa=RadioMarca
;;

Cadena100 | cadena100 | cad100 | c100 | cadenacien | CadenaCien | cadenaCien | Cadenacien )
echo «Cadena 100 «
emisora=mms://live.c100.edgestreams.net/reflector:34743
software=mimms
programa=Cadena100
;;

COPE | cope | Cope | CadenaCop* | CadenaCOP* | cadenacope |CADENACOPE )
echo «COPE «
emisora=mms://live.cope.edgestreams.net/reflector:34744
software=mimms
programa=COPE
;;

EuropaFM | europaFM | Europafm | europafm )
echo «Europa FM «
emisora=mms://a1537.l507234296.c5072.e.lm.akamaistream.net/D/1537/5072/v0001/reflector:34296
software=mimms
programa=EuropaFM
;;

mqm* | MQM* | Mqm* )
echo «MQM Dance «
emisora=http://win20ca.audiovideoweb.com/avwebwinlive8161
software=streamripper
programa=MQMDance
;;

Kiss* | KISS* | kiss*)
echo «Kiss FM «
emisora=http://win60ny.audiovideoweb.com/ny60winlive7001?WMThinning=0
software=streamripper
programa=KissFM
;;

RadioEusk* | RADIOEUSK* )
echo «Radio Euskadi»
emisora=mms://a943.l881320881.c8813.e.lm.akamaistream.net/D/943/8813/v0001/reflector:20881
software=mimms
programa=RadioEuskadi
;;

OnaC* | onac* | ONAC* )
echo «Ona catalana» #Para los más susceptibles, catalana va en minúculas al no ser nombre propio. Debería ser Cataluña, Euskadi, Madrid…
emisora=mms://217.11.251.145/onacatalana
software=mimms
programa=»OnaCatalana» #Para los más susceptibles, aquí si que «Catalana» va en mayúsculas para facilitar la identificación.
;;

OndaMadrid | Ondamadrid | ondamadrid | ondaMadrid | ONDAMADRID )
echo «Onda Madrid»
emisora=mms://a1644.l1904942498.c19049.e.lm.akamaistream.net/D/1644/19049/v0001/reflector:42498
software=mimms
programa=»OndaMadrid»
;;

* )
echo «Emisora no reconocida, disponibles: «
echo «- Error 1: Emisora o programa desconocido: «$1 > /var/log/grabar_radio.log # /var/log/grabar_radio.log
exit 0
;;

esac

# Tercer parámetro: tiempo a grabar.

#Directorio donde grabarlo (’.’ = actual) Como por cada minuto se utiliza 1mega de espacio, en un futuro se puede comprobar el espacio en el destino para avisar de si se podrá salvar o no.
if [ «$3» != «» ]; then
dir =$3
else
dir=/home/carlos/radio
fi

#Convertirlo en OGG, estándar superior al ASF y MP3, mayor compresión y calidad, de código fuente abierto y gratuito. Actualmente todos los reproductores ya incluyen este formato, y los que su firmware es actualizable suelen disponer de una actualización para poder reproducirlo.

sync
segundos=`expr 60 \* $minutos`

if [ «$software» == «streamripper» ] ; then
nombre=${dir}/»$programa»_20`date +%y_%m_%d`.mp3
streamripper $emisora -l $segundos -a $nombre -d $dir

elif [ «$software» == «mimms» ] ; then
nombre=${dir}/»$programa»_20`date +%y_%m_%d`.asf

#mplayer’s «endpos» options is not working in this version for streams, so applying workaround
mplayer -really-quiet -nolirc -noframedrop -dumpfile $nombre -dumpstream $emisora &
PID=»$!»
sleep «${segundos}»
kill «${PID}»
fi
sync
pacpl -t ogg $nombre

#OTRAS OPCIONES SON:
#mplayer -dumpstream salida mms://a17.l507220396.c5072.e.lm.akamaistream.net/D/17/5072/1006358696/reflector:20396
#para el tema de la calidad de sonido, lo saca en ASF.

echo «Grabación de » $nombre «realizada con éxito y guardada en » $PWD
echo «Grabación de » $nombre «realizada con éxito y guardada en » $PWD > /var/log/grabar_radio.log

#Añadir opción de mandar el fichero por SCP u otro medio a otro ordenador.

Como se ve, los comandos son muy sencillos, indicándose la emisora y el nº de minutos a grabar, nada más, empezando a grabar en cuanto se ejecutase el script. Conectaría con la emisora online según el protocolo (stream o mms) e iría guardando la emisión (en MP3 y ASF respectivamente). Ejemplos:

1º) Grabar la emisora Ondacero durante 10 minutos.

#./grabar_radio.sh Ondacero 10

2º) Grabar el programa «Josemi»

#./grabar_radio.sh josemi

En este segundo caso se puede ver la personalización de un programa, modificando el script. Éste ya sabe la cantidad de minutos a salvar y con qué nombre guardarlo:


echo "Josemi Rodríguez Sieiro en HErrera en la Onda, Ondacero"
emisora=mms://ondacerolivewm.fplive.net/ondacerowmlive-live/oc_madrid
software=mimms
#horaInicio=11:05
#horaFinal=11:32
minutos=27
programa=Josemi

Se puede modificar el script a voluntad.

Por ultimo, la gran utilidad de esto es poder grabar las emisiones sin que tengamos que intervenir, igual que se hace con un DVD o VHS. Para ello se puede utilizar el cron:


#sudo crontab -e

Añadiendo una línea por cada programa que se desee grabar. Para entender el programador de tareas de GNU/Linux Cron se puede consultar este enlace.. Dos ejemplos de programaciones serían:

Grabación de Ondacero (lo que estén emitiendo) durante diez minutos los sábados y domingos a la 1:30 am.

30 01 * * 7,1 /home/carlos/radio/grabar_radio.sh Ondacero 10

Grabación del programa de Josemi de lunes a viernes a las 12:07pm.

07 12 * * 1-5 /home/carlos/radio/grabar_radio.sh josemi

Actualización 2009/10/03:
– Corrección de la URL de Ondacero.
– Sustitución de «mimms» por «mplayer»

Actualización 2011/12/11:
– Corrección de la URL de Ondacero (oc_convencional -> oc_madrid).
– Añadido Ondacero Galicia.

h1

Convertir SWF en AVI y salvar videos de Youtube

11/09/2007

Era inevitable hablar algún dia de esto… En Linux se pueden dar ambos casos:

1º) Querer salvar un video de Youtube, para lo cual

1.1 Descargar el video a a través de YouTubeX o cualquier otro gestor de descargas de Youtube, obtenido un fichero tipo «get_video» de formato flv.

1.2 Convertirlo de flv a avi mediante el comando:

ffmpeg -i get_video miVideo.avi

2º) Cuando se tiene una animación en Flash en formato SWF, es necesario pasarla primero a FLV y posteriormete a AVI como ya hemos visto. Para ello:

2.1 Descargar PyVNCwSWF ,descomprimir e instalarlo.

2.2 Ejecutarlo:

carlos@pushit:~/Desktop/pyvnc2swf/pyvnc2swf-0.8.2.1/pyvnc2swf$ ./edit.py -o out.mpg get_video.swf
Using PIL 1.1.5
MPEGVideoStream is not supported.

produciendo este error que se arregla instalando la librería PyMedia (enlace a .deb) así como otras dependencias (Python 2.4 y Pygame). Después ya solo queda convertir según el formato de salida que queramos.

$ edit.py -o out.mpg input.swf

$ edit.py -o out.flv input.swf

Nota: este método solo vale para Versiones Flash 7.0 o superiores.


				
h1

Como generar tickets en Monowall

01/07/2007

Para generar tickets en el portal cautivo Monowall MWidget ha creado un patch descargable desde aquí, y ofrece un manual para hacerlo e instalarlo.

El sistema es sencillo, permite la generación automática de n-tickets permitiendo indicar su duración en minutos.

h1

tightvncserver muestra pantalla gris

17/06/2007

Si al instalar tightvncserver, ejecutarlo y posteriormente conectar a él se ve una pantalla similiar a ésta:

Error TigthVNCServer

es debido a la falta de selección del gestor de ventanas en el fichero /home/usuario/.vnc/xstartup, en el que se debe añadir al final el gestor a utilizar, quedando por ejemplo:

#!/bin/shxrdb $HOME/.Xresources

xsetroot -solid grey

x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &

x-window-manager &

gnome-session &

y además si se desea que arranque algún programa al inicio de esta  sesión (que a su vez, al estar programada su ejecución al arranque del sistema será paralela a éste), basta con añadirla en este mismo fichero. Por ejemplo:
 amule &

 

h1

Error PHPBB2: «Tried to upload empty file» o «No post mode specified»

17/06/2007

Utilizando el mod AttachMOD para poder adjuntar ficheros en foros phpbb2 puede producirse uno de los siguientes errores al subir un archivo:

– «Tried to upload empty file»
– «No post mode specified»

Existen dos soluciones:

a) Crear un fichero .htaccess con el siguiente contenido:
php_value upload_max_filesize 128M
php_value post_max_size 128M

b) Editar el fichero php.ini (/etc/php4/apache/php.ini) modificando las variables correspondientes para que admitan ficheros mayores:

upload_max_filesize = 25M
post_max_size = 25M

Por último, reiniciar Apache (/etc/init.d/apache restart)

(Fuente)

h1

Ejecutar un .php descarga un archivo

13/06/2007

Cuando se quiere ejecutar un php en un servidor Apache y no produce lo esperado, si no que inicia la descarga de un fichero, es necesario realizar lo siguiente:

1.- Comrporbar que está instalado PHP y libapache-mod-php4.

2.- Comprobar que existe la línea

LoadModule php4_module /usr/lib/apache/1.3/libphp4.so
en /etc/apache/modules.conf

3.- Comrpobar que en el módulo «dir» está incluido el tipo «index.php»
root@srvws01:/etc/apache2/mods-enabled# nano dir.conf
(...)
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm index.php
(...)

activar el módulo si no lo está y reiniciar Apache.
root@srvws01:/etc/apache2/mods-enabled# a2enmod dir
Module dir already enabled
root@srvws01:/etc/apache2/mods-enabled# /etc/init.d/apache2 restart
* Restarting web server htcacheclean apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName

Lógicamente dependiendo de las versiones de Apache y PHP muchos datos podrán variar.

h1

Arranque de sesión VNC en Linux conservando sesión

22/05/2007

Se puede hacer de varias maneras. Una de ellas es añadiendo la siguiente línea:

su carlos -c «vncserver -depth 16 -geometry 1024×768»

(nota1: atención al hacer copiar y pegar de esta línea, las comillas no siempre coinciden)

(nota2: «carlos» es el usuario que iniciará la sesión)

al fichero /etc/rc2.d/S99rc.local

Después, para cambiar la resolución el mejor método es editar el fichero /etc/vnc.conf , estableciéndola en la variable $geometry:

$geometry =»1024×768″;

h1

instalación de Solunas en Ubuntu

27/03/2007

Para instalar el gestor de reservas Solunas en Ubuntu hay que seguir la siguiente guía. No obstante, al no estar muy detallada, la instalación del entorno de ejecución Ruby se compone de los siguientes paquetes:

#apt-get install ruby libmysql-ruby1.8 rails

(rails no estoy seguro de su necesidd).

es necesario también descargar las Ruby gems e instalarlas. Una vez hecho, hay que hacer un «gem install ????» (???? es una parte que ahora mismo no tengo a mano, intentaré actualizar y completar el post) que pedirá el gestor cuando intentaes arrancarlo (/var/www/solunas#ruby script/server).