Jobs under /lib instead of /etc?

Garrett Cooper yanegomi at
Fri Oct 30 19:10:48 GMT 2009

On Fri, Oct 30, 2009 at 9:37 AM, Michael T <raselmsh at> wrote:
> Hello Garrett (and Scott),
>> This seems like a replay of a previous email... The suggestion you're
>> making makes absolutely no sense from a traditional Unix layout
> Indeed, I first tried to send the mail without subscribing, and after it
> failed to appear for a few days I subscribed and resent it.  By that time
> though, I could no longer cancel the first mail, which has just gone
> through - sorry.
> I take your point about the traditional Unix layout, although after my
> discussion with Scott, the question is no longer so relevant anyway...
> However, I do have another point I would like to put to Scott, on the
> subject of upstart scripts being configuration files.  From Scott's last
> e-mail:
>>> I would personally expect them to be created and configured by package
>>> maintainers in most cases though and not modified further in most cases
>>> once they land on the package user's system.
>> Initially this is true, however remember that Upstart job configuration
>> files are not shell scripts.  They're intended to be much more readable,
>> and editable: declaring what is run, not describing how to run it.
> On the whole I can go along with that, except that when I check the upstart
> scripts on my system, 17 out of 34 *do* actually contain shell script.
> This is the sort of thing that rather upsets me in /etc, as that can become
> a configuration nightmare when people start to fiddle.  It does seem to me
> that it would be nicer if this were banned from the scripts, so that the
> people who write this stuff had to put it in a script file somewhere outside
> of /etc.
> I promise I won't bother you more with this stuff without you really ask
> for a response :)

Hi Michael,

FreeBSD uses /etc // /usr/local/etc to store not just configuration
scripts, but also its rc-script infrastructure. This is also the
traditional way that SysV init did things on Linux too, but the
scripts and configuration were a bit more partitioned (the scripts all
lived in /etc/init.d // /etc/rc.d, and the configuration varied
depending on the Linux distro). Mac OSX is the only odd-sheep out of
the mix because they put configuration items in /Library/...
somewhere, if memory serves me correctly, but their layout is
drastically different from BSD's and Linux.

So, I don't see why Upstart shouldn't continue to follow this model,
unless you have a valid concern about the way that the jobfiles are
laid out, and for technical reasons what you're proposing as far as a
redoing of the layout, but this will break expectations for backwards
compatibility between upstart versions.

You can also change the directory for upstart to search, as you deem
fit (I think it was in /etc/upstart.conf or something like that?).


More information about the upstart-devel mailing list