Para borrar ficheros menores de 25 k:
find . -size -25k -exec rm -f {} \;
Para borrar ficheros mayores de 10 M:
find . -size +10M -exec rm -f {} \;
Más info en el man.
30/12/09
26/12/09
Copias remotas con rsync
Vamos a configurar rsync como demonio para poder copiar ficheros remotamente.
Instalamos rsync:
apt-get install rsync
Para que se ejecute automáticamente como demonio, editamos el fichero:
/etc/default/rsync
Y cambiamos el valor de:
RSYNC_ENABLE=true
Ahora configuramos los recursos que queremos compartir, creando el fichero:
/etc/rsyncd.conf
Con un contenido similar a:
max connections = 2
log file = /var/log/rsync.log
timeout = 300
[RECURSO]
comment = COMENTARIO
path = /DIRECTORIO
read only = no
list = yes
uid = nobody
gid = nogroup
auth users = USUARIO
secrets file = /etc/rsyncd.secrets
Y configuramos la contraseña creando el fichero:
/etc/rsyncd.secrets
Con el contenido en el siguiente formato:
USUARIO:CONTRASENYA
Cambiamos los permisos para tener mayor privacidad de la contraseña:
chmod 600 /etc/rsyncd.secrets
Y reiniciamos el servicio rsync:
/etc/init.d/rsync restart
Ahora desde un equipo remoto podríamos ver el contenido de los recursos con:
rsync USUARIO@IP::RECURSO
Y realizar una copia sincronizada con:
rsync -avz USUARIO@IP::RECURSO/SUBDIRECTORIO/ DESTINO
Más opciones en el man.
Instalamos rsync:
apt-get install rsync
Para que se ejecute automáticamente como demonio, editamos el fichero:
/etc/default/rsync
Y cambiamos el valor de:
RSYNC_ENABLE=true
Ahora configuramos los recursos que queremos compartir, creando el fichero:
/etc/rsyncd.conf
Con un contenido similar a:
max connections = 2
log file = /var/log/rsync.log
timeout = 300
[RECURSO]
comment = COMENTARIO
path = /DIRECTORIO
read only = no
list = yes
uid = nobody
gid = nogroup
auth users = USUARIO
secrets file = /etc/rsyncd.secrets
Y configuramos la contraseña creando el fichero:
/etc/rsyncd.secrets
Con el contenido en el siguiente formato:
USUARIO:CONTRASENYA
Cambiamos los permisos para tener mayor privacidad de la contraseña:
chmod 600 /etc/rsyncd.secrets
Y reiniciamos el servicio rsync:
/etc/init.d/rsync restart
Ahora desde un equipo remoto podríamos ver el contenido de los recursos con:
rsync USUARIO@IP::RECURSO
Y realizar una copia sincronizada con:
rsync -avz USUARIO@IP::RECURSO/SUBDIRECTORIO/ DESTINO
Más opciones en el man.
24/12/09
Eliminar gdm del arranque
Si no deseamos que en el arranque se ejecute el entorno gráfico, podemos deshabilitarlo con:
sudo update-rc.d -f gdm remove
(Podríamos lanzarlo manualmente con startx)
Para volver a habilitarlo:
sudo update-rc.d -f gdm defaults
Otros métodos aquí.
sudo update-rc.d -f gdm remove
(Podríamos lanzarlo manualmente con startx)
Para volver a habilitarlo:
sudo update-rc.d -f gdm defaults
Otros métodos aquí.
13/12/09
Usa la Fuerza, Luke!
Quiso la casualidad que tecleara "ps xa" en una ventana de terminal mientras grababa un dvd con brasero, y entre otras me encuentro la siguiente linea:
2248 ? Rl 0:02 growisofs -use-the-force-luke=notray -use-the-force-l
WTF!
Con "man growisofs" descubro que el prefijo -use-the-force-luke se aplica a diversas funciones no documentadas del programa para grabar isos.
¡Muy friki!
2248 ? Rl 0:02 growisofs -use-the-force-luke=notray -use-the-force-l
WTF!
Con "man growisofs" descubro que el prefijo -use-the-force-luke se aplica a diversas funciones no documentadas del programa para grabar isos.
¡Muy friki!
2/12/09
Configurar exim4
Resulta muy práctico poder enviar correos desde el sistema, para enviarnos avisos, logs, etc.
Utilizaremos exim4 que es el que instalan debian y ubuntu por defecto y que es más sencillo de configurar que sendmail. En caso de que sendmail estuviera instalado se pueden dar incompatibilidades, por lo que es conveniente desinstalarlo previamente.
Primero instalamos exim4:
apt-get install exim4
Ejecutamos el asistente de configuración:
dpkg-reconfigure exim4-config
Contestando lo siguiente:
En “configuración general del correo” seleccionamos “Internet site”.
En “Nombre del sistema de correo” escribimos el nombre del dominio que cualificará las direcciones de correo sin nombre de dominio, generalmente será el nombre de la máquina, por ejemplo “nombredemimaquina.int”. Debemos asegurarnos de que como tal esté definida en /etc/hosts.
En “Direcciones IP en las que recibir conexiones SMTP entrantes” escribimos “127.0.0.1” para que no acepte peticiones de otras máquinas.
En “Otros destinos para los que se acepta el correo” podemos dejar el valor por defecto, que será el nombre del equipo.
En “Dominios para los que se reenvía el correo” dejamos el valor en blanco.
En “Máquinas para las cuales reenviar correo” también lo dejamos en blanco.
En “Limitar el número de consultas de DNS” dejamos el valor “No”.
En “Mecanismo de entrega para el correo local” seleccionamos “formato mbox”.
Y en “Dividir la configuración en pequeños ficheros” seleccionamos “No”.
Con esto ya podemos enviar correos.
Ahora podemos configurar el servidor para que nos envíe el correo interno a una cuenta de email.
Para ello editamos el fichero:
/etc/aliases
Y editamos/añadimos lineas de la siguiente manera:
root: usuariosistema
usuariosistema: usuario@correoelectron.ico
De esta forma los mensajes dirigidos a root serán entregados a usuariosistema y los de este enviados a la dirección de correo indicada.
Para evitar que se marque nuestro correo como spam, podemos utilizar una configuración alternativa para que se envíen los correos a través de nuestro servidor smtp.
Editamos el fichero:
/etc/exim4/passwd.client
Y añadimos una linea con la forma:
servidor.smtp:nombreusuario:password
Volvemos a configurar exim4:
dpkg-reconfigure exim4-config
Pero esta vez en la primera opción seleccionamos "el correo se envía mediante un smarthost; se recibe a través de SMTP".
Contestamos al resto de las preguntas igual que antes, y cuando pregunte "Dirección IP o nombre de equipo para el smarthost saliente", introducimos la dirección del servidor smtp que vayamos a usar.
En "Desea ocultar el nombre de correo local en los mensajes salientes" marcamos "No".
Ahora se entregarán los correos a través de nuestro servidor smtp.
Para el caso particular de querer emplear una cuenta de gmail, podemos emplear este tutorial.
Utilizaremos exim4 que es el que instalan debian y ubuntu por defecto y que es más sencillo de configurar que sendmail. En caso de que sendmail estuviera instalado se pueden dar incompatibilidades, por lo que es conveniente desinstalarlo previamente.
Primero instalamos exim4:
apt-get install exim4
Ejecutamos el asistente de configuración:
dpkg-reconfigure exim4-config
Contestando lo siguiente:
En “configuración general del correo” seleccionamos “Internet site”.
En “Nombre del sistema de correo” escribimos el nombre del dominio que cualificará las direcciones de correo sin nombre de dominio, generalmente será el nombre de la máquina, por ejemplo “nombredemimaquina.int”. Debemos asegurarnos de que como tal esté definida en /etc/hosts.
En “Direcciones IP en las que recibir conexiones SMTP entrantes” escribimos “127.0.0.1” para que no acepte peticiones de otras máquinas.
En “Otros destinos para los que se acepta el correo” podemos dejar el valor por defecto, que será el nombre del equipo.
En “Dominios para los que se reenvía el correo” dejamos el valor en blanco.
En “Máquinas para las cuales reenviar correo” también lo dejamos en blanco.
En “Limitar el número de consultas de DNS” dejamos el valor “No”.
En “Mecanismo de entrega para el correo local” seleccionamos “formato mbox”.
Y en “Dividir la configuración en pequeños ficheros” seleccionamos “No”.
Con esto ya podemos enviar correos.
Ahora podemos configurar el servidor para que nos envíe el correo interno a una cuenta de email.
Para ello editamos el fichero:
/etc/aliases
Y editamos/añadimos lineas de la siguiente manera:
root: usuariosistema
usuariosistema: usuario@correoelectron.ico
De esta forma los mensajes dirigidos a root serán entregados a usuariosistema y los de este enviados a la dirección de correo indicada.
Para evitar que se marque nuestro correo como spam, podemos utilizar una configuración alternativa para que se envíen los correos a través de nuestro servidor smtp.
Editamos el fichero:
/etc/exim4/passwd.client
Y añadimos una linea con la forma:
servidor.smtp:nombreusuario:password
Volvemos a configurar exim4:
dpkg-reconfigure exim4-config
Pero esta vez en la primera opción seleccionamos "el correo se envía mediante un smarthost; se recibe a través de SMTP".
Contestamos al resto de las preguntas igual que antes, y cuando pregunte "Dirección IP o nombre de equipo para el smarthost saliente", introducimos la dirección del servidor smtp que vayamos a usar.
En "Desea ocultar el nombre de correo local en los mensajes salientes" marcamos "No".
Ahora se entregarán los correos a través de nuestro servidor smtp.
Para el caso particular de querer emplear una cuenta de gmail, podemos emplear este tutorial.
30/11/09
Bucle for con nombres de fichero con espacios
A veces intentamos usar un bucle for en bash para recorrer un listado de ficheros, pero si los nombres de los ficheros contienen espacios, se separa el nombre en dos o más trozos, provocando errores. Para evitarlo hay que definir con la variable IFS que caracteres se deben utilizar como delimitadores, ya que por defecto incluye además del salto de linea y retorno de carro, el espacio y el tabulado.
Un ejemplo de como emplearlo:
#!/bin/sh
IFS=$'\x0A'$'\x0D'
for fichero in $(ls *)
do
/usr/bin/HAZALGO $fichero
done
Visto aquí y aquí.
Un ejemplo de como emplearlo:
#!/bin/sh
IFS=$'\x0A'$'\x0D'
for fichero in $(ls *)
do
/usr/bin/HAZALGO $fichero
done
Visto aquí y aquí.
29/11/09
Proxy sobre ssh
Podemos crear un proxy a partir de una conexión ssh con un comando del tipo:
ssh -D 9999 USUARIO@IP
Y en el navegador seleccionar en la configuración del proxy 'localhost' como servidor SOCKS y 9999 como puerto.
Más información aquí.
ssh -D 9999 USUARIO@IP
Y en el navegador seleccionar en la configuración del proxy 'localhost' como servidor SOCKS y 9999 como puerto.
Más información aquí.
Exportar DISPLAY
Si en nuestra sesión gráfica abrimos una terminal con una sesión de root, y queremos desde esta ejecutar una aplicación gráfica, nos dará el error:
Error: Can't open display:
Para evitarlo debemos exportar el display con el siguiente comando:
export DISPLAY=:0.0
Ahora podremos ejecutar correctamente las aplicaciones gráficas.
Error: Can't open display:
Para evitarlo debemos exportar el display con el siguiente comando:
export DISPLAY=:0.0
Ahora podremos ejecutar correctamente las aplicaciones gráficas.
5/11/09
Montar carpeta Samba en el arranque
Para montar una carpeta Samba en el arranque, debemos tener instalado el paquete smbfs y añadir al /etc/fstab una línea similar a esta:
//IP/RECURSO /media/PUNTOMONTAJE smbfs auto,username=USUARIO,password=CONTRASENYA,dir_mode=0777,file_mode=0777,rw,uid=1000,gid=1000 0 0
Ahora bien, esto deja nuestro nombre de usuario y contraseña para el recurso samba muy a la vista. Para evitarlo, como usuario root, creamos un fichero, por ejemplo:
/root/smbpwd
Con las líneas:
username=USUARIO
password=CONTRASENYA
Y modificamos sus permisos para que sólo el root pueda leerlo y escribir en él:
chmod 600 /root/smbpwd
Y cambiamos la línea del fstab de la siguiente manera:
//IP/RECURSO /media/PUNTOMONTAJE smbfs auto,credentials=/root/smbpwd,dir_mode=0777,file_mode=0777,rw,uid=1000,gid=1000 0 0
¡Mucho más seguro!
Más información aquí.
//IP/RECURSO /media/PUNTOMONTAJE smbfs auto,username=USUARIO,password=CONTRASENYA,dir_mode=0777,file_mode=0777,rw,uid=1000,gid=1000 0 0
Ahora bien, esto deja nuestro nombre de usuario y contraseña para el recurso samba muy a la vista. Para evitarlo, como usuario root, creamos un fichero, por ejemplo:
/root/smbpwd
Con las líneas:
username=USUARIO
password=CONTRASENYA
Y modificamos sus permisos para que sólo el root pueda leerlo y escribir en él:
chmod 600 /root/smbpwd
Y cambiamos la línea del fstab de la siguiente manera:
//IP/RECURSO /media/PUNTOMONTAJE smbfs auto,credentials=/root/smbpwd,dir_mode=0777,file_mode=0777,rw,uid=1000,gid=1000 0 0
¡Mucho más seguro!
Más información aquí.
4/11/09
Problemas con Tuxguitar
Tuxguitar es un editor de partituras para guitarra que nos permite visualizar las partituras en solfeo, tablatura y también visualizar las notas en el mástil de la guitarra. Admite varios formatos de partitura y también importar desde ficheros midi.
Podemos instalarlo fácilmente con:
apt-get install tuxguitar
En el caso de que al reproducir la partitura no suene el sonido, probablemente se deba a que no tengamos instalado un player de midis. Para solucionarlo instalamos el reproductor/conversor
timidity:
apt-get install timidity
Posteriormente editamos el fichero:
/etc/init.d/timidity
Y modificamos la linea con el parámetro TIM_ALSASEQ para que quede:
TIM_ALSASEQ=true
Reiniciamos el servicio:
/etc/init.d/timidity restart
Y por último en tuxguitar vamos al menú Herramientas -> Preferencias -> Sonido y en el apartado de Puerto MIDI seleccionamos "TiMidity port 0 #1".
¡A tocar!
Podemos instalarlo fácilmente con:
apt-get install tuxguitar
En el caso de que al reproducir la partitura no suene el sonido, probablemente se deba a que no tengamos instalado un player de midis. Para solucionarlo instalamos el reproductor/conversor
timidity:
apt-get install timidity
Posteriormente editamos el fichero:
/etc/init.d/timidity
Y modificamos la linea con el parámetro TIM_ALSASEQ para que quede:
TIM_ALSASEQ=true
Reiniciamos el servicio:
/etc/init.d/timidity restart
Y por último en tuxguitar vamos al menú Herramientas -> Preferencias -> Sonido y en el apartado de Puerto MIDI seleccionamos "TiMidity port 0 #1".
¡A tocar!
Suscribirse a:
Entradas (Atom)