Archivo por meses: septiembre 2014

Analizando logs fácilmente con logwatch

Para mantener nuestro PC en buen estado, tenemos que estar pendientes de lo que está ocurriendo en el mismo. No nos va a hablar directamente (aunque se podría conseguir algo parecido) pero nos lo va a mostrar en un registro. Hablo del log.

Mirar el log todos los días es tedioso, sobre todo si no haces grandes cambios en el PC ni nada que pueda alterar el buen funcionamiento del mismo.

En cualquier caso, si pudiéramos echar un vistazo rápido de lo que ocurre, es decir, un resumen de las cosas más importantes del log, podríamos anticiparnos ante problemas posteriores y/o solucionar cositas que nos pasan con frecuencia (porque el sistema te está diciendo en el log por qué suceden).

Esta función de resumir los logs la hacen programas como logwatch. Este software se instala fácil y rápidamente y con sólo ejecutarlo ya nos muestra un resumen de las cosas más importantes del sistema:

################### Logwatch 7.4.0 (03/01/11) #################### 
 Processing Initiated: Fri Sep 19 00:25:30 2014
 Date Range Processed: yesterday
 ( 2014-Sep-18 )
 Period is day.
 Detail Level of Output: 0
 Type of Output/Format: stdout / text
 Logfiles for Host: skywalker
 ################################################################## 
 
 --------------------- Selinux Audit Begin ------------------------
**Unmatched Entries** 
 type=1400 audit(1411071917.719:2): apparmor="STATUS" operation="profile_load" nam
="/{usr/,}bin/ping" pid=529 comm="apparmor_parser"
 type=1400 audit(1411071917.733:3): apparmor="STATUS" operation="profile_load" nam
="/sbin/klogd" pid=537 comm="apparmor_parser"
 type=1400 audit(1411071917.742:4): apparmor="STATUS" operation="profile_load" nam
="/sbin/syslog-ng" pid=541 comm="apparmor_parser"
 type=1400 audit(1411071917.753:5): apparmor="STATUS" operation="profile_load" nam
="/sbin/syslogd" pid=545 comm="apparmor_parser"
 type=1400 audit(1411071917.768:6): apparmor="STATUS" operation="profile_load" nam
="/usr/lib/apache2/mpm-prefork/apache2" pid=550 comm="apparmor_parser"
 type=1400 audit(1411071917.769:7): apparmor="STATUS" operation="profile_load" nam
="/usr/lib/apache2/mpm-prefork/apache2//DEFAULT_URI" pid=550 comm="apparmor_parser

 type=1400 audit(1411071917.769:8): apparmor="STATUS" operation="profile_load" nam
="/usr/lib/apache2/mpm-prefork/apache2//HANDLING_UNTRUSTED_INPUT" pid=550 comm="ap
armor_parser"
 type=1400 audit(1411071917.770:9): apparmor="STATUS" operation="profile_load" name="/usr/lib/apache2/mpm-prefork/apache2//phpsysinfo" pid=550 comm="apparmor_parser"
 type=1400 audit(1411071917.779:10): apparmor="STATUS" operation="profile_load" na
me="/usr/lib/dovecot/anvil" pid=554 comm="apparmor_parser"
 type=1400 audit(1411071917.790:11): apparmor="STATUS" operation="profile_load" name="/usr/lib/dovecot/auth" pid=558 comm="apparmor_parser"
---------------------- Selinux Audit End -------------------------

--------------------- iptables firewall Begin ------------------------
Listed by source hosts:
 Dropped 89 packets on interface enp2s0
 From fe80:0000:0000:0000:1e6f:aa22:aa22:2122 - 2 packets to udp(5353) 
 From 192.168.1.33 - 87 packets to udp(32951,34298,35537,35639,36732,37794,39042,3
485,43827,46363,47490,48232,48262,49410,51155,54326,54679,56707,57796,59073,59619,
982) 
 ---------------------- iptables firewall End -------------------------

 --------------------- pam_unix Begin ------------------------
su:
 Sessions Opened:
 root -> user: 2 Time(s)
 
 systemd-user:
 Unknown Entries:
 session opened for user user by (uid=0): 1 Time(s)
 session opened for user root by (uid=0): 1 Time(s)
 ---------------------- pam_unix End -------------------------
 --------------------- SSHD Begin ------------------------
 SSHD Started: 2 Time(s)
 ---------------------- SSHD End -------------------------

 --------------------- Disk Space Begin ------------------------
Filesystem Size Used Avail Use% Mounted on
 /dev/sda1 30G 12G 17G 42% /
 devtmpfs 1.9G 28K 1.9G 1% /dev
 ---------------------- Disk Space End -------------------------
 ###################### Logwatch End #########################

Podemos ejecutarlo con el parámetro –detail high si queremos más detalles. También podemos usar –range para decir qué franja del log queremos (ayer, todos, etc.).

Por último, es interesante que se nos envíe esto por mail. Esto lo podéis hacer fácilmente con la forma que os expliqué aquí.

También se podría usar la propia función de enviar mail que tiene logwatch, pero para ello tendríamos que usar un cliente smtp que se conecte a un servidor de correo de forma correcta (autenticándose) y nos envíe un mail (*). Por ejemplo, se podría usar ssmtp o msmtp. Lo mismo un día os hablo de uno de estos programas, que son interesantes para mandar mails usando el comando mail desde la línea de comandos.

En cualquiera de los dos casos, lo suyo es automatizar este chequeo y que, por ejemplo, cada mañana nos envíe un mail con el resumen de las cositas que han ocurrido en el día de ayer (parámetro –range yesterday).

 

(*) Alguien pensará en usar su propia MTA en su equipo usando postfix o sendmail. Funcionar es posible que funcione, pero tarde o temprano os van a banear de servidores de correo e incluso meter vuestra IP en listas negras porque no corresponde con el servidor autorizado de un dominio. Por eso recomiendo usar cositas como ssmtp o msmtp para estos menesteres.

Sincronizando directorios entre GNU/Linux y Android con BitTorrent Sync

Hace tiempo os comenté de una posibilidad «sencilla» de intercambiar ficheros entre un dispositivo Android y vuestro sistema GNU/Linux. Me refiero a aquél artículo sobre sshdroid que seguro que todos recordáis perfectamente por lo interesantísimo y útil que fue -lógico-.

Bien, pues aquí os propongo otra forma mucho más sencilla de hacerlo. Además, esta opción permite, no sólo intercambiar archivos sino que va un paso más allá permitiendo sincronizar dos directorios entre nuestro sistema GNU/Linux y nuestro dispositivo Android. Se trata de Bittorrent Sync.

En este caso, más que simplemente copiar, ofrece una solución mucho más útil: la de sincronizar dos directorios: uno en el PC y otro en el dispositivo Android.

Es algo como Dropbox, sólo que en lugar de estar el directorio en la nube, está en vuestro PC. Además, hay que tener en cuenta que Dropbox, en la parte de Android, no descarga todos los archivos, es decir, cuando accedéis a vuestra carpeta de Dropbox desde Android lo hacéis siempre a la nube; en ese momento se descargan al móvil y ya los veis. Esto lo hacen, según indican, para no consumir mucho ancho de banda 3G, pero lo cierto es que podrían dar la interesantísimoposibilidad de descargarlo todo (vía 3G o vía Wifi) para tenerlo en local en el móvil.

En cualquier caso, con BitTorrent Sync esto lo tenéis ya, es decir, tendréis una copia idéntica del directorio (con todos sus subdirectorios y archivos) en vuestro móvil.

A partir de ahí, si borráis/añadís/modificáis algún fichero tanto en el PC como en el móvil, el cambio se verá reflejado en el otro dispositivo cuando tengáis visibilidad por red, es decir, cuando estéis en la misma Wifi.

La idea básica es simple: una vez instalado el software en vuestro PC (existe para Linux, Mac y Windows), entráis en el navegador y tecleáis la siguiente URL (*):

http://localhost:8888

Es el sencillo interfaz web mediante el que seleccionaréis y compartiréis vuestros directorios. El interfaz es bastante auto-explicativo. De todas formas, sabed que cuando seleccionéis un directorio de vuestro PC que queréis compartir con Android, le tenéis que dar a «generate-secret» para que os genere una clave. Esta clave se muestra también en forma de código QR para que, una vez arrancada también la aplicación en vuestro Android, lo seleccionáis y ya tenéis sincronizados los directorios (también tenéis que elegir el directorio en vuestro Android).

Aquí tenéis un sencillo tutorial en español de cómo usarlo en Ubuntu y similares (en openSUSE el paquete «btsync» lo tenéis disponible).

Si no usáis ni Ubuntu, ni Debian, ni openSUSE… podéis instalar btsync como se indica aquí.

Si queréis saber cómo usarlo en Android, aquí tenéis info.

En general, en la web oficial tenéis más información.

 

(*) Podéis cambiar el puerto donde escuchará el interfaz web así como usuario y password de acceso en el fichero btsync.config. Más info aquí (ver «Step 3» -paso 3-).

Ventajas de usar KDE

En una charla Caldum celebrada hace unos meses, estuve explicando lo que para mí son las ventajas de usar el entorno de escritorio KDE.

Os dejo aquí la presentación para que la veáis si os interesa.