2006 resolution
I will make some of my work public.
The best candidate is one that will probably not appeal to anyone: my personal linux distro.
I have it, I use it all the time. It's not published yet, though, since it consists of a base CentOS + a lot of work.
So, I will try to make it systematic, call it an installer, and drop it on the unsuspecting audience.
Don't hold your breath, though.
Here are some of the features:
Server oriented. I use it for my clients' servers.
Qmail+courier+vpopmail+roundcube+spamassassin+clamav mail system.
Squid proxy+fwbuilder firewall
Smart for package management
runit-based boot/services.
KDE as a GUI. Accssible via FreeNX/secure VNC.
OpenVPN for simple VPN management.
Custom cherrypy-based admin tools
No SeLinux (sorry, it's a pain in the butt. Secure, but a pain).
Bacula for backups
Custom tool to back the whole disk to a bootable DVD (System Rescue DVD)
/etc in SVN+Trac (yes, really, and the admin tools force you to use it)
Probably djbdns for DNS.
All in all, it's a pretty ordinary CentOS-based thing, except that the switch to runit makes service management way simpler and regular ( you can do things like having a non-root user that can manage some services, yay!)
On the other hand, the cherrypy-based tools would probably need a bit of a rewrite, since some are pretty cruddy.
Mostly, I have been gathering these pieces over the last 6 years as I really don't like the way any of the Linux server distros are built.
I based it on CentOS because doing the whole distro by hand is way too much work.
I can probably show it around June, if I don't get too sidetracked. Hopefully, someone will read this list and tell me "but graxzst linux already does all that!" ;-)
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.
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.
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.
Cheers,
Aaron