Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

osx' s /etc/init.d equivalent?

Tags:

linux

macos

I am installing gitlab on a mac but this latter is mainly designed for linux os. Following the doc, I have to run this command

curl --output /etc/init.d/gitlab https://raw.github.com/gitlabhq/gitlab-recipes/master/init.d/gitlab

What is the mac equivalent of the /etc/init.d folder (I know about the launchd command but I am looking for the mac's equivalent /etc/init.d folder) ?

like image 714
user1611830 Avatar asked Mar 31 '13 22:03

user1611830


People also ask

What is etc init D?

/etc/init. d is a directory containing initialization and termination scripts for changing init states.

Where is etc init D?

d is the sub-directory of /etc directory in Linux file system. init. d basically contains the bunch of start/stop scripts which are used to control (start,stop,reload,restart) the daemon while the system is running or during boot.

What is etc init d in Ubuntu?

/etc/init. d is where all the traditional sysvinit scripts and the backward compatible scripts for upstart live. The backward compatible scripts basically run service myservice start instead of doing anything themselves. Some just show a notice to use the "service" command.


2 Answers

AFAIK, launchd stores its data primarily in .plist files in /Library/LaunchAgents/ and /Library/LaunchDaemons/, and occasionally in those subdirectories in your home directory. More on those files in this tutorial and this reference.

For your problem specifically, to set launchd up to run gitlab, try converting that init.d script to a .plist file with the links above.

like image 124
ryan Avatar answered Oct 21 '22 03:10

ryan


I don't know if you still care about the question or not, but what ryan said is correct. And to directly answer your question, your curl command is trying to download a startup script and put it into your init.d directory. You don't have one, as you are on Mac OS X.

What you need to do is pop that init.d somewhere else that is permanent. Make sure it is chmod +x and test to see if it works manually. (ie. ./init.d)

If it does, you can create a .plist and pop it into /Library/LaunchDaemons/ that will run your init.d file. If your init.d file is as simple as just running an executable, then forget the init.d file entirely, and just have the .plist file run the gitlab executable file directly.

Either way, I think that you should mark Ryan's (or mine as well) answer as Accepted, as it will solve your issue. The only reason I didn't put this as a comment on Ryan's answer is that my explanation was too long for a comment.

like image 43
Morfie Avatar answered Oct 21 '22 04:10

Morfie