Buscar este blog

martes, 14 de octubre de 2008

viola la llave foránea "dbmail_mail boxes_owner_idnr_fkey"

Tengo un dbmail corriendo en PostgreSQL y encontré este error en el log de PostgreSQL /var/log/postgresql/postgresql-8.1-main.log
DETALLE: La llave (owner_idnr)=(0) no está presente en la tabla «dbmail_users».
2008-10-14 13:25:12 CEST ERROR: inserción o actualización en la tabla «dbmail_mailboxes» viola la llave foránea «dbmail_mail
boxes_owner_idnr_fkey»
Pensé que podría haber algún error entre las relaciones de usuarios y alias y busqué algún error entre estas tablas. Ejecutando este SELECT no deberíamos obtener ningún resultado.
SELECT * FROM dbmail_aliases WHERE deliver_to NOT IN (SELECT user_idnr FROM dbmail_users);
Ya que todos los registros de aliases deberían tener su correspondiente en la tabla de usuarios, para localizar su mailbox correspondiente. El problema que tenía era que esa sentencia sí que me devolvía registros y esos registros no tenían usuarios asociados y por tanto tampoco mailbox asociados.

Así que no encontraba el buzón donde tenía que mandar los correos y ese es el error que ves en el log de PostgreSQL viola la llave foránea «dbmail_mail
boxes_owner_idnr_fkey»
.

Creo que el problema viene del administrador que he creado para crear y editar cuentas de correos desde web. Tendré que repararlo.

viernes, 12 de septiembre de 2008

Error:[db] db.c,db_usermap_resolve(+4699): could not select usermap

Creo recordar que es el mismo problema que tengo publicado en este enlace.

Error:[db] db.c,db_usermap_resolve(+4699): could not select usermap

http://josemanuelruizbaena.blogspot.com/2008/05/fatal-pgsqletcpostfixsql-pop-before.html

postfix/trivial-rewrite[9587]: warning: connect to pgsql server localhost: SSL SYSCALL error: No such file or directory?

Si tenemos este error es que Postfix no es capaz de conectar con el servidor de base de datos PostgreSQL porque solo está admitiendo conexiones SSL.

Simplemente tendrás que editar el fichero /etc/postgresql/8.1/main/postgresql.conf y en la linea que pone "ssl = true", poner "ssl = false" y reiniciar el servidor de base de datos (/etc/init.d/postgresql-8.1 restart).

dbmail con PostgreSQL Debian (Etch)

Supongo instalado el servidor de base de datos PostgreSQL y me centraré más en la instalación y configuración de dbmail.

Una cosa si tendremos en cuenta, en el fichero /etc/postgresql/8.1/main/pg_hba.conf tenemos que modificar el modo de identificación de los usuario md5, para ello modificaremos la linea:
local all all ident sameuser
Por:
local all all md5
Una vez hecho esto simplemente reiniciaremos PostgreSQL (/etc/init.d/postgresql-8.1 restart) y empezaremos por crear la base de datos dbmail y el usuario dbmail dentro del servidor de base de datos PostgreSQL.
#su postgres
$psql template1
CREATE USER dbmail PASSWORD '123456789';
CREATE DATABASE dbmail OWNER dbmail ENCODING = 'UNICODE';
\q
Probamos el acceso a la base de datos dbmail, por si hay algún problema.
# psql -U dbmail dbmail
Contraseña para usuario dbmail:
Bienvenido a psql 8.1.11, la terminal interactiva de PostgreSQL.

Digite: \copyright para ver los términos de distribución
\h para ayuda de comandos SQL
\? para ayuda de comandos psql
\g o or termine con punto y coma para ejecutar una consulta
\q para salir

dbmail=> \q
Instalaremos postfix, postfix-pgsql, para ello:
aptitude install postfix postfix-pgsql
General type of configuration? Internet Site
Nombre de correo? miservidor.midominio
Vamos a comenzar a instalar dbmail, editaremos el fichero /etc/apt/sources.list y añadimos la linea:
deb http://debian.nfgd.net/debian stable main
Después de actualizar la lista de paquetes (aptitude update) instalaremos el paquete dbmail-pgsql, que instalará por dependencia el paquete dbmail.
aptitude install dbmail-pgsql
Tenemos que crear la estructura de la base de datos, para ello:
cp /usr/share/doc/dbmail-pgsql/examples/create_tables.pgsql.gz .
gunzip create_tables.pgsql.gz .
psql -U dbmail dbmail < create_tables.pgsql
Ya tenemos instalada la aplicación, ahora empezamos a configurar. Editamos el fichero /etc/default/dbmail (nano /etc/default/dbmail) y añadimos:
START_POP3D=1
START_IMAPD=1
START_LMTPD=1
Editamos el fichero /etc/dbmail/dbmail.conf y modificamos estas lineas:
driver = pgsql
authdriver = sql
host = localhost
pass = 123456789
[POP] POP_BEFORE_SMTP = yes,
[IMAP] IMAP_BEFORE_SMTP = yes
Reiniciamos dbmail y tendremos que ver algo parecido a esto:
/etc/init.d/dbmail restart
Starting dbmail servers: dbmail-imapd dbmail-pop3d dbmail-lmtpd.
Tenemos que instalar clamsmtp clamav-daemon postgrey.
aptitude install clamsmtp clamav-daemon postgrey
Es el fichero de configuración de postfix tendremos que tocar algunas cosas.
nano /etc/postfix/main.cf
Añadiremos en la primera línea sin comentario esta variable y la inicializaremos con el nombre del dominio del cual estemos montando el servidor de correo electrónico. Es muy importante que este dominio sea un dominio valido, es decir que tenga todas las características de un dominio, .com .es .net ... algunos servidores de anti-spam se basan en el nombre del servidor de correo para definirlo como spam y lo último que queremos que ocurra es que nuestro nuevo servidor de correo sea marcado como servidor de spam.
myhostname = www.midominio.com
# resuelve en /etc/hosts (no solo dns)
smtp_host_lookup = dns, native
Definimos que busque en el fichero /etc/postfix/sql-pop-before-smtp.cf las IPs que tienen permiso para enviar correos desde nuestro servidor, así no necesitamos tener autenticación en nuestro servidor SMPT, porque siempre que hagamos una lectura antes del intento de envío, el servidor POP o IMAP capturará nuestra IP y gracias a la conexión del fichero /etc/postfix/sql-pop-before-smtp.cf nuestra IP aparecerá en la lista de IPs permitidas.
# utilizo POP BEFORE SMTP para no actuar de OpenRelay
mynetworks = 127.0.0.0/8, pgsql:/etc/postfix/sql-pop-before-smtp.cf
Igualmente utilizaremos una conexión a la base de datos para sacar el listado de dominios de los que debemos aceptar correos electrónicos. En esta ocasión la guardamos en una variable y después lo añadimos a la variable mydestination.
# se pueden añadir dominios en la base de datos
transport_maps = pgsql:/etc/postfix/sql-transport.cf
mydestination = localhost, localhost.localdomain, $transport_maps
smtpd_recipient_restrictions =
permit_mynetworks,
reject_unauth_destination,
check_policy_service inet:127.0.0.1:60000
content_filter = scan:localhost:10026
receive_override_options = no_address_mappings
Ahora editaremos el fichero /etc/postfix/master.cf y verificamos que estas tres instrucciones está activas.
dbmail-lmtp unix - - n - - lmtp
-o disable_dns_lookups=yes
# AV scan filter (used by content_filter)
scan unix - - n - 16 smtp
-o smtp_send_xforward_command=yes
# For injecting mail back into postfix from the filter
127.0.0.1:10025 inet n - n - 16 smtpd
-o content_filter=
-o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
-o smtpd_helo_restrictions=
-o smtpd_client_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks_style=host
-o smtpd_authorized_xforward_hosts=127.0.0.0/8,pgsql:/etc/postfix/sql-pop-before-smtp.cf
Aún nos quedan crear los ficheros /etc/postfix/sql-pop-before-smtp.cf y /etc/postfix/sql-transport.cf
El primero le indica a Postfix las IPs que tienen permiso para enviar (SMTP) por haber leído correo previamente (POP3 o IMAP). Es el archivo /etc/postfix/sql-pop-before-smtp.cf y su contenido es:
user=dbmail
password=123456789
dbname=dbmail
hosts=localhost
table=dbmail_pbsp
select_field=since
where_field=ipnumber
El segundo nos va a permitir agregar nuevos dominios desde la base de datos. Es el archivo /etc/postfix/sql-transport.cf y su contenido:
user=dbmail
password=123456789
dbname=dbmail
table=dbmail_transport
select_field=transport
where_field=domain
hosts=localhost
Ahora tendremos que crear la tabla dbmail_transport en la base de datos dbmail si no existe. No podemos olvidarnos de hacer el INSERT que agregará el/los dominio a los que escuchará nuestro servidor de correo.
psql -U dbmail dbmail
Contraseña para usuario dbmail:
Bienvenido a psql 8.1.11, la terminal interactiva de PostgreSQL.

Digite: \copyright para ver los términos de distribución
\h para ayuda de comandos SQL
\? para ayuda de comandos psql
\g o or termine con punto y coma para ejecutar una consulta
\q para salir

dbmail=> select * from dbmail_transport;
ERROR: no existe la relación «dbmail_transport»
dbmail=> CREATE TABLE dbmail_transport (domain VARCHAR(100) NOT NULL, transport VARCHAR(100) NOT NULL DEFAULT 'dbmail-lmtp:localhost:24');
CREATE TABLE
dbmail=> INSERT INTO dbmail_transport (domain) VALUES ('midominio.com');
INSERT 0 1
Una vez hecho todo, reiniciaremos Postfix.
/etc/init.d/postfix restart
Aún queda un problema con Dbmail y PostgreSQL. Existe un problema con ciertas codificaciones. Es necesario editar el archivo /etc/init.d/dbmail y agregar un par de lineas. Se deben poner al principio ya que se trata de una variable de entorno utilizada en la conexión con PostgreSQL.
# Codificación que se lebantará con la base de datos PostgreSQL
PGCLIENTENCODING=UNICODE
export PGCLIENTENCODING
Así podemos dar de alta al usuario jmruiz con password jmruiz y correo electrónico jmruiz@midominio.com.
dbmail-users -a jmruiz -w jmruiz -s jmruiz@midominio.com
Adding INBOX for new user... ok.
[jmruiz@midominio.com]
Done
jmruiz:x:4:0:0.00:0.00:jmruiz@midominio.com
Para probar el usuario podemos hacer telnet al puerto POP y acceder como el usuario jmruiz.
telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK DBMAIL pop3 server ready to rock
user jmruiz
+OK Password required for jmruiz
pass jmruiz
+OK jmruiz has 0 messages (0 octets)
quit
+OK see ya later
Connection closed by foreign host.
Si ves en el log /var/log/mail.log este error "fatal: pgsql:/etc/postfix/sql-pop-before-smtp.cf(0,lock|fold_fix): table lookup problem". Seguro que te será de mucha ayuda este enlace.

jueves, 14 de agosto de 2008

ipcop backups

IpCop es una distribución muy sencilla de utilizar. Es una rápida solución para proxy y cortafuegos, con una muy cómoda interface web desde la que se puede hacer casi todo lo que necesites.

El problema lo encontré cunado intenté meter las copias de seguridad automáticamente en mi sistema de copias. El sistema de copias de seguridad está basado en claves publicas ssh, pero no sabía cual era el directorio donde IpCop deja las copias de seguridad cuando le dices desde la interface web que se generen.

Finalmente lo encontré, y los ficheros .dat que genera IpCop para su propia restauración los almacena en /home/httpd/html/backup así que solo me quedaba añadir el directorio en el sistema de copias de seguridad.

martes, 12 de agosto de 2008

Error: Service check command 'check_nrpe' specified in service 'MyHost_sda' for host 'MyHost' not defined anywhere!

Con este error entendemos que Nagios no es capaz de encontrar (not defined anywhere!) el comando check_nrpe. Así que tenemos que definir el comando check_nrpe para que nuestro servidor Nagios sea capaz de ejecutarlo.

Para ello tendremos que abrir el fichero /usr/local/nagios/etc/objects/localhost.cfg y al final del todo añadir:
##########
# CHECK_NRPE #
##########

define command{
command_name check_nrpe
command_line /usr/local/nagios/libexec/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$ $ARG3$ $ARG4$
}
Ten cuidado y observa que la ruta donde yo tengo check_nrpe es /usr/local/nagios/libexec/check_nrpe. Pudiera ser que en tu servidor Nagios no sea la misma ruta. Así que verifica que sea correcta y en el caso de que no lo sea modifica la línea de command_line para que Nagios pueda encontrar check_nrpe.

Una vez hecho todo esto ya podremos hacer de nuevo el testeo de los ficheros de configuración con:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Y no deberíamos tener errores.

lunes, 11 de agosto de 2008

Instalacion NRPE cliente/servidor

Os dejo el manual bajo el que me he regido para hacer este manual para instalaciones de NRPE, lo dejo tanto en pdf.

Lo primero tendremos que diferenciar entre la instalación de NRPE en nuestro servidor Nagios o en los servidores que pretendemos monitorizar. Ya que según el esquema de NRPE podemos ver que nos hace falta en los dos sitios.

Primero veremos la instalación en nuestro servidor Nagios.

Para ello tendremos que descargar el fichero nrpe-2.12.tar.gz, descomprimir y configurar.
wget http://kent.dl.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz
tar xvzf nrpe-2.12.tar.gz
cd nrpe-2.12
./configure
Una vez hecho esto solo nos queda compilar e instalar únicamente el plugin, porque en el servidor no necesitamos un demonio que corra, simplemente necesitamos el plugin para poder ejecutarlo.
make all
make install-plugin
Sabremos que todo fue correctamente porque en el /usr/local/nagios/libexec/ encontraremos el ejecutable check_nrpe que nos permitirá hacer peticiones a los servidores (los que pretendemos monitorizar) que tengan instalado nrpe.

Para terminar veremos la instalación en el servidor que monitorizaremos.

Lo primero es verificar que tenemos instalados los siguientes paquetes, que serán necesarios.
aptitude install build-essential
aptitude install xinetd
aptitude install libcurl3-openssl-dev
Si no tenemos instalado libcurl3-openssl-dev en la configuración del nrpe nos dará un error del tipo.
checking for SSL headers... configure: error: Cannot find ssl headers
Una vez que tenemos todos los prerequisitos instalados, ya podemos hacer:
./configure
make all
make install-plugin
make install-daemon
make install-daemon-config
make install-xinetd
Tenemos que hacer un último paso para terminar la instalación de nuestro NRPE, editar el fichero /etc/xinetd.d/nrpe y definir algún parámetro de configuración como "only_from = 127.0.0.1 < nagios_ip_address >" en el que tendremos que poner la IP de nuestro sevidor Nagios para que pueda preguntarle.

Bien, ya tenemos instalado NRPE como demonio que correrá escuchando las llamadas de nuestro servidor Nagios que le preguntará ¿estás ahí?

Añadiremos al /etc/services "nrpe 5666/tcp # NRPE" para identificar las conexiones 5666/tcp como de nuestro nuevo demonio NRPE.

Para hacer la prueba de funcionamiento, ejecutaremos desde el servidor donde estamos instalando NRPE algunos comandos que nos dirá si el demonio está corriendo o no. Pero antes deberíamos de reiniciar el servicio xinetd para ello ejecutaremos.
/etc/init.d/xinetd restart
Prueba de escucha que nos devolverá "tcp 0 0 *:nrpe *:* ESCUCHAR"
netstat -at | grep nrpe
También podemos ejecutar
/usr/local/nagios/libexec/check_nrpe -H localhost
Que si todo funcionó correctamente nos devuelve la versión de NRPE que estamos corriendo en localhost.

Muy bien para probar si nuestro servidor Nagios tiene conexión con nuestro servidor a monitorizar, tendremos que ejecutar:
/usr/local/nagios/libexec/check_nrpe -H < ip de nuestro servidor a monitorizar >
Con todo lo que hemos hecho podemos desde nuestro servidor Nagios hacer una petición al servidor que pretendemos monitorizar para ver si está o no activo. Pero realmente lo que queremos es sacarle toda la información que podamos pedirle. Para ello tendremos que instalar nagios-plugins en este servidor.

Seguiremos los mismos pasos que seguimos en nuestro servidor Nagios. Así a adelante; descargar, descomprimir, configurar, compilar e instalar.
wget http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.12.tar.gz
tar xvzf nagios-plugins-1.4.12.tar.gz
cd nagios-plugins-1.4.12
./configure
make
make install
Una vez instalado veremos muchos más ejecutables en /usr/local/nagios/libexec/, esos son todos los ejecutables que podemos lanzar para hacerle más preguntas al servidor desde nuestro servidor Nagios.¿Qué tal te va ...tal o cual servicio...?

Instalacion de Nagios 3.0.3 Debian

He creado este manual siguiendo el manual de la página oficial, he modificado algunas cosas. Como la versión de descarga 3.0.3. Espero que os sea de ayuda.

Lo primero que tenemos que hacer es instalar los paquetes requeridos.
aptitude install apache2 build-essential libgd2-dev
Si tenemos una conexión a internet lenta deberíamos dejar descargando ya estos dos ficheros, que necesitaremos para dejar corriendo el servicio nagios en nuestro nuevo servidor Nagios 3.0.3.
wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nagios-3.0.3.tar.gz
wget http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.12.tar.gz
Creamos el usuario que correrá el proceso.
/usr/sbin/useradd -m nagios
/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -G nagcmd nagios
/usr/sbin/usermod -G nagcmd www-data
Descomprimimos el nagios-3.0.3.tar.gz y entramos en el directorio que nos creará.
tar xzf nagios-3.0.3.tar.gz
cd nagios-3.0.3
Ahora corremos el script de configuración pasando como parámetro el grupo que creamos para nagios y www-data para que compartan permisos.
./configure --with-command-group=nagcmd
Después de correo el script tenemos que compilar los fuentes.
make all
Ahora instalamos los binarios.
make install
make install-init
make install-config
make install-commandmode
Deberías editar el fichero /usr/local/nagios/etc/objects/contacts.cfg y modificar los parámetros que te interesen como por ejemplo el email del administrador principal (nagiosadmin).
nano /usr/local/nagios/etc/objects/contacts.cfg
Configuración de la interfaz web.
make install-webconf
Para crear el fichero de usuarios y claves para el acceso a la interfaz web, tenemos que ejecutar.
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Finalmente hacemos un reload de apache para que relea las modificaciones que ha sufrido en sus ficheros de configuración.
/etc/init.d/apache2 reload
Ahora vamos a instalar el plugin, para ello lo primero será descomprimirlo.
tar xvzf nagios-plugins-1.4.12.tar.gz
cd nagios-plugins-1.4.12
Corremos el script de configuración pasando como parámetros usuario nagios y grupo nagcmd. Después solo nos queda compilar e instalar.
./configure --with-nagios-user=nagios --with-nagios-group=nagcmd
make
make install
Para terminar solo nos queda programarlo para que se inicie con el arranque del sistema y verificar que todos los ficheros de configuración son correctos.
cd /etc/init.d/
update-rc.d nagios defaults
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Si la verificación de ficheros fue correcta veremos algo así al final de la salida.
Total Warnings: 0
Total Errors: 0
Ahora ya estamos preparados para iniciar el servicio.
/etc/init.d/nagios start
E identificarnos en http://< mi servidor nagios >/nagios
Si queremos que nuestro servidor nos envía mails notificándonos cualquier asunto, tendremos que montar un servidor SMTP. Yo particularmente prefiero usar postfix. Para instalarlo haremos:
aptitude install postfix
Cuando nos pregunte el tipo de servidor que somos le diremos Sitio de Internet, lo próximo que nos preguntará será el dominio con el que firmará la cabecera de los correos. Deberías de poner un nombre de dominio valido, por ejemplo nagios.josemanuelruizbaena.com, porque algunos filtros anti-spam cortan los correos cuyos dominios no son validos. Es decir, que no sería correcto poner servidornagios a secas.

Ya no queda más que hacer, ya tienes instalado un servidor Nagios. Ahora dedica un buen rato en añadir todos tus servidores para que sean monitorizados por tu nuevo servidor de monitorización.

lunes, 19 de mayo de 2008

fatal: pgsql:/etc/postfix/sql-pop-before-smtp.cf(0,lock|fold_fix): table lookup problem

Después de seguir el manual de instalación de dbmail con postgres para Ubuntu, no me funcionó correctamente. Después de mucho buscar soluciones a este problema.
May 19 12:41:43 druida postfix/smtpd[3826]: connect from fg-out-1718.google.com[72.14.220.156]
May 19 12:41:43 druida postfix/smtpd[3826]: warning: pgsql query failed: fatal error from host localhost: ERROR: la sintaxis de entrada no es v?lida para tipo inet: ?fg-out-1718.google.com??
May 19 12:41:43 druida postfix/smtpd[3826]: fatal: pgsql:/etc/postfix/sql-pop-before-smtp.cf(0,lock|fold_fix): table lookup problem
May 19 12:41:44 druida postfix/master[3787]: warning: process /usr/lib/postfix/smtpd pid 3826 exit status 1
May 19 12:41:44 druida postfix/master[3787]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling
Me dí cuenta de que en el fichero /var/log/postgresql/postgresql-8.1-main.log tenía el verdadero problema:
2008-05-19 12:41:43 CEST ERROR: la sintaxis de entrada no es válida para tipo inet: «fg-out-1718.google.com»
Al parecer la estructura de la tabla dbmail_pbsp no es totalmente correcta, es posible que es esta nueva versión de dbmail no esté bien definida. Para solucionarlo hay que cambiar el tipo de datos del campo ipnumber, con este script podrás cambiarlo sin perder los datos que ya tienes.
alter table dbmail_pbsp ADD after_ipnumber text;
update dbmail_pbsp set after_ipnumber = cast(ipnumber as text);
alter table dbmail_pbsp drop ipnumber;
alter table dbmail_pbsp rename after_ipnumber to ipnumber;
alter table dbmail_pbsp alter ipnumber set default('0.0.0.0');
commit;
Después de esto el servidor me funciona perfectamente.

viernes, 2 de mayo de 2008

Xampp Ubuntu/Debian problemas restart

He tenido problemas al iniciar un xampp en un core dos duo con Ubuntu con un kernel server (con SMP para dos procesadores). El problema es que la primera vez que iniciaba tardaba muy poco en iniciar Apache2, si intentaba un restart... tardaba algo así que que 5 min en admitir peticiones HTTP.
#/etc/init.d/xampp restart
Stopping XAMPP for Linux 1.6.6...
XAMPP: XAMPP-Apache is not running.
XAMPP: Stopping MySQL...
XAMPP: Stopping ProFTPD...
XAMPP stopped.
Starting XAMPP for Linux 1.6.6...
XAMPP: Another web server daemon is already running.
XAMPP: Starting MySQL...
XAMPP: Starting ProFTPD...
XAMPP for Linux started.
He intentado mil soluciones, pero ninguna fue la correcta. Intenté cambiar el kernel por kernels a 64bit...

Pero al parecer los cores duos o las placas con dos xeon tienen un problema cuando intentan generar RANDOM, así que hay que echarles una "manita".

Si ejecutas cat /proc/sys/kernel/random/entropy_avail te devolverá un valor. En mi Pc (un PIV) me da un valor de 3586. En el Core Duo me da un valor de 160, pero después de instalar y arrancar rng-tools me da un valor de aprox 2700 y arranca apache normalmente.

Instala el paquete rng-tools
aptitude install rng-tools
Tendrás que modificar el fichero /etc/init.d/rng-tools porque no es total mente correcto. Yo por menos cuando intenté iniciar el proceso (/etc/init.d/rng-tools start) me daba un error.
Starting Hardware RNG entropy gatherer daemon: (Hardware RNG device inode not found)
/etc/init.d/rng-tools: Cannot find a hardware RNG device to use.
Tendrás que modificar la linea HRNGDEVICE=/dev/hwrng y poner HRNGDEVICE=/dev/urandom. Después solo quedará hacer /etc/init.d/rng-tools start y ya tendremos corriendo el demonio.

miércoles, 9 de abril de 2008

Cortar un fichero en trozos

Después de mucho pelearme con los sitemas de ficheros y distintos sitemas operativos, he decidido montar en mis discos externos (USB) el sistema de ficheros FAT32. Hasta el momento lo tenía con ext2, que me tiene un límite de tamaño de fichero superior a FAT32.

Pero ahora con mi nuevo Mac Book Pro, no he conseguido montar ext2 con modo lectura y escritura. Se monta en modo solo lectura.

Después de buscar encontré la fantastica aplicación split, en los lenguajes de programación se usa para cortar. Pues en GNU/Linux es lo mismo. Usando el comando split podemos hacer que nuestros ficheros grandes pasen a ser varios ficheros pequeños y somos nosotros quien decidimos el tamaño.

De esta forma podemos meter "ficheros grandes" en un disco duro con sistema de ficheros FAT32 que solo admite ficheros menores de 4GB.
split -b100m MiFicheroGrande.tgz MisFicherosChicos.
Al ejecutar eso, creará una sucesión de ficheros de 100MB (-b100m) del estilo a:
MisFicherosChicos.aa
MisFicherosChicos.ab
MisFicherosChicos.ac
MisFicherosChicos.ad
MisFicherosChicos. ...
Para pegar esos trozos es aún más sencillo.
cat MisFicherosChicos.* > MiFicheroGrandore.tgz
Y volveremos a tener todos los trozos pegados en uno solo, eso sí recuerda ejecutar este último comando en un disco duro donde el sistema de ficheros soporte el tamaño de la suma total de todos los ficheros pequeños.

DynDns OVH Sincronización de IP pública dinámica

  Si tienes un servidor en casa o detrás de una conexión con IP dinámica, sabes que tarde o temprano tu dirección IP pública cambia y tu dom...