Skip to main content

Ralsina.Me — Roberto Alsina's website

2006 resolution

I will make some of my work pub­lic.

The best can­di­date is one that will prob­a­bly not ap­peal to any­one: my per­son­al lin­ux dis­tro.

I have it, I use it all the time. It's not pub­lished yet, though, since it con­sists of a base Cen­tOS + a lot of work.

So, I will try to make it sys­tem­at­ic, call it an in­staller, and drop it on the un­sus­pect­ing au­di­ence.

Don't hold your breath, though.

Here are some of the fea­tures:

  • Serv­er ori­en­t­ed. I use it for my clients' server­s.

  • Qmail+­­couri­er+vpop­­mail+round­cube+s­­pa­­mas­sas­s­in+­­cla­­mav mail sys­tem.

  • Squid prox­­y+fw­builder fire­wall

  • Smart for pack­­age man­age­­ment

  • runit-based boot/ser­vices.

  • KDE as a GUI. Ac­c­s­si­ble via FreeNX/se­cure VNC.

  • Open­VPN for sim­­ple VPN man­age­­men­t.

  • Cus­­tom cher­rypy-based ad­min tools

  • No SeLin­ux (sor­ry, it's a pain in the but­t. Se­cure, but a pain).

  • Bac­u­la for back­­ups

  • Cus­­tom tool to back the whole disk to a bootable DVD (Sys­tem Res­cue DVD)

  • /etc in SVN+­­Trac (yes, re­al­­ly, and the ad­min tools force you to use it)

  • Prob­a­bly djbdns for DNS.

All in al­l, it's a pret­ty or­di­nary Cen­tOS-based thing, ex­cept that the switch to runit makes ser­vice man­age­ment way sim­pler and reg­u­lar ( you can do things like hav­ing a non-­root us­er that can man­age some ser­vices, yay!)

On the oth­er hand, the cher­rypy-based tools would prob­a­bly need a bit of a rewrite, since some are pret­ty crud­dy.

Most­ly, I have been gath­er­ing these pieces over the last 6 years as I re­al­ly don't like the way any of the Lin­ux serv­er dis­tros are built.

I based it on Cen­tOS be­cause do­ing the whole dis­tro by hand is way too much work.

I can prob­a­bly show it around June, if I don't get too side­tracked. Hope­ful­ly, some­one will read this list and tell me "but graxzst lin­ux al­ready does all that!" ;-)

Marcos Dione / 2006-04-04 13:09:

Hi Roberto. I `heard´ of ... what the fuck am I doing?


Hola Roberto. `Escuché´ de tu pronto casamiento. Congrats.

Léi este post y me llamó mucho la atención el tema de poner /etc en svn. Cómo lo lográs? Yo he intentado hacer eso y lo único que logré es que la mitad de las cosas no funcionen porque lo spermisos no eran lo adecuados (por ejemplo, ssh se niega a arrancar si los archivos de las claves tienen permisos demasiado permisivos).

Le dí unas cuantas vueltas, incluyendo usar un scripten bash llamado `asvn´, pero que no funcionó como debía.

Asi que me senté a hacer un wrapper en Python. Funciona casi todo. Pero si ya hay algo que anda, mejor.

Roberto Alsina / 2006-04-04 13:10:

Bueno, en este momento es un poco mas complicado que "ponerlo en svn" :-)

En principio, la herramienta hace un checkout del repositorio y copia los archivos que corresponden sobre /etc/ con los permisos de los archivos preexistentes.

Para cada modulo de la herramienta de admin. hay un perfil de "los archivos que toca", por lo que puedo hacer eso sin tocar el resto del /etc.

No funciona para todos los modulos, porque hay archivos que no se deben tocar (el tipico es /etc/shadow,passwd) sin usar las herramientas de sistema.

Para esos archivos, hacemos al reves, modificamos el real y despues copiamos al checkout del svn y hacemos el commit.

Esta segunda solucion es mas general en realidad.

Otra idea es usar rdiff-backup en vez de svn. No tenemos branches, pero tenemos un historial para volver atras, y soporta permisos sin problema.

Aaron Krill / 2006-04-04 13:12:

Dude. You rock. Let me know where I can get this and I'll check it out. I especially dig the cherrypy admin tools, since I'm a python junky.