Archive for January, 2011
My favorite computer book publisher O’Reilly Media has announced a giveaway of $500 worth of their titles (print, ebooks, videos, etc.) that you choose. Here’s what I’d like to read this year:
The Book of PF 2nd edition
Mac OS X for Unix Geeks (Leopard), Fourth Edition
Mac OS X Snow Leopard: The Missing Manual
Practical UNIX and Internet Security, Third Edition
Unix Power Tools, Third Edition
Learning Perl, Fifth Edition
Learning the bash Shell, Third Edition
Classic Shell Scripting
Postfix: The Definitive Guide
The contest ends on February 22, 2011 at 11:59 PM PST. Good luck!
Development is being made in the CVS tree to implement RC scripts in OpenBSD which should be part of 4.9. Historically in true BSD fashion OpenBSD has used two rc scripts: /etc/rc and /etc/rc.local. The former being the default script read to start the OS and the latter to start any daemons that have been added to the OS such as MySQL. This also has served as a clean way of upgrading the OS since /etc/rc should never be altered.
The new change that I’m referring to will change this and put OpenBSD in line with the way FreeBSD and NetBSD have been doing things for quite a while with individual rc scripts for each daemon being placed in /etc/rc.d. I’m not sure how OpenBSD will implement this functionality. The way that it has worked on FreeBSD (I haven’t used NetBSD for any length of time to know how it works there) is that you start and stop daemons using the individual scripts. For example, If I wanted to restart sendmail on a FreeBSD system I would run this command:
# /etc/rc.d/sendmail restart
Pretty simple, huh? If I wanted to change how the daemon starts on boot with additional options I would add a line to /etc/rc.conf. This is also where I would tell my system to start foo daemon on boot such as:
Assuming that the implementation on OpenBSD will be similar this greatly changes having to add each script by hand to one big script in rc.local with all the startup options defined. I’m guessing that starting a daemon on boot would be defined in /etc/rc.conf.local.
Now the real question is, why now? Seeing as FreeBSD made the switchover years ago it’s definitely an odd time to change. I understand that adding new features to OpenBSD is much slower than on some other open source projects since the development model is a bit different with security and bug-free code being the highest priority. I’m curious if this is an effort to increase compatibility with the other BSDs and thus a way to bring new developers in, or simply a highly requested feature from system admins.
Update: With OpenBSD 4.9 currently being in beta the developers have added a section to the porting guide on openbsd.org.