Bashdb, o com debugar un script en bash

A través de linux.com m’entero de l’existència de bashdb, un debugger per a scripts fets en bash, que ens permet avançar pas per pas, mostrar el backtrace, printar variables, mostrar funcions, etc, d’un script fet amb bash.

Pot ser una èina útil en scripts complexos, o a l’hora d’explotar errades de seguretat.

Anuncios

Un fsck sobre un ext3 de 5TB

Ara fa cosa d’un mes, el servidor de Pacs de l’Hospital Universitari de Bellvitge, va començar a queixar-se del sistema de fitxers, amb missatges com aquest:

Nov  1 00:35:06 pacsbellvitge01 kernel: init_special_inode: bogus i_mode (136237)

Al rebre el primer mail, ja va fer que em comencés a mirar, quin era exactament el problema, ja que aquesta màquina està en producció amb una base de dades de 23GB, i té muntat a través d’una SAN, un sistema de fitxers EXT3 de 5TB sobre un LVM.

El codi font del kernel, ho deixava ben clar, l’error es llança quan s’arriba a un inode que no se sap el què és (no és un dispositiu de caracter, un de blocs, un fifo, ni un socket), printa aquest missatge, tot dient-nos l’inode en qüestió.

Sigue leyendo

IOtop

Acabo de trobar una utilitat molt i molt útil per a diagnosticar els colls d’ampolla dels sistemes linux: iotop. Aquesta utilitat ens mostra la seva sortida en un format semblant del top, amb la diferència que en comptes de monitoritzar la CPU o la memòria, monitoritza l’IO utilitzat pels diferents processos del sistema.

Si fins ara no en tenies prou amb l’vmstat o amb el iostat, aquesta èina et dona el què et faltava.

iotop

L’únic inconvenient que hi ha avui en dia per utilitzar aquesta èina, és que requereix una versió del kernel molt recent >= 2.6.20, versió que encara moltes distribucions no t’incorporen.

The collabREate Plugin for IDA Pro

Ara fa uns mesos, comentavem amb en jvprat que seria molt útil, poder treballar en un projecte d’Enginyeria Inversa a nivell de grup, podent compartir la feina feta per cada persona. La idea seria poder obrir un sol projecte per moltes persones alhora.

Resulta que existeix un plugin que et permet exactament això. Nomès cal instal·lar un servei de xarxa que es compartirà per tothom, i posar el plugin a cada client.

Suposo que no tardaré molt en provar-lo a fons. 🙂

http://www.idabook.com/collabreate/

Kernel 2.6.25

Ja fa una setmana que en Linus va alliberar l’última versió del kernel de Linux. Tot seguit comento les noves funcionalitats que trobo més interessants.

Com ha anat passant, el kernel de Linux ha anat integrant funcionalitats implementades inicialment en el exec_shield de RedHat. Aquesta vegada li ha tocat a la randomització de la crida brk, i a la base de l’executable, deixant així una randomització total per a x86. En jack estarà content 😉

Aparició de la interfície i de la aplicació en espai d’usuari, que ens permet consultar quins processos estan patint latència, i quins processos en són els responsables. Més informació en la pàgina web del projecte http://latencytop.org/

En aquesta versió, s’ha afegit un estat més per els processos que estan a la cua dormint. Fins ara només podien estar “sleeping” o “sleeping uninterruptibly”. A partir d’ara un procés podrà ser matat només en casos fatals.

Per últim anomenar l’alternativa al SELinux:  Smack. Sembla que no està previst que substitueixi SELinux ja que no ofereix les mateixes possibilitats, però per a molts entorns permetrà una complexitat més baixa.