homebrew 添加自定义 services

    以 rinetd 为例

    1. 确认安装位置
      确认 rinetd 的安装位置 /opt/homebrew/Cellar/rinetd/0.73
    0.73 git:(stable) pwd
    /opt/homebrew/Cellar/rinetd/0.73
    0.73 git:(stable) ls -l
    total 80
    -rw-r--r--  1 jansora  admin   3571 Feb 19  2021 CHANGES.md
    -rw-r--r--  1 jansora  admin  18431 Feb 19  2021 COPYING
    -rw-r--r--  1 jansora  admin    982 Oct 19 10:46 INSTALL_RECEIPT.json
    -rw-r--r--  1 jansora  admin    628 Feb 19  2021 README.md
    -rw-r--r--@ 1 jansora  admin    856 Oct 20 17:22 homebrew.mxcl.rinetd.plist
    -rw-r--r--  1 jansora  admin    322 Oct 20 17:23 homebrew.rinetd.service
    drwxr-xr-x  3 jansora  admin     96 Feb 19  2021 sbin
    drwxr-xr-x  4 jansora  admin    128 Oct 19 10:46 share
    

    2. 手动创建启动文件

    homebrew.mxcl.rinetd.plist homebrew.rinetd.service

    1. 创建 homebrew.rinetd.service
    [Unit]
    Description=Homebrew generated unit for rinetd
    
    [Install]
    WantedBy=multi-user.target
    
    [Service]
    Type=simple
    ExecStart=/opt/homebrew/opt/rinetd/sbin/rinetd -c /opt/homebrew/etc/rinetd.conf -f
    Restart=always
    StandardOutput=append:/opt/homebrew/var/log/rinetd.log
    StandardError=append:/opt/homebrew/var/log/rinetd.log%  
    
    
    1. 创建 homebrew.mxcl.rinetd.plist

    确保 homebrew.mxcl.rinetd Label 字段唯一, 否则会报错, 其他的按需修改

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    	<key>KeepAlive</key>
    	<true/>
    	<key>Label</key>
    	<string>homebrew.mxcl.rinetd</string>
    	<key>LimitLoadToSessionType</key>
    	<array>
    		<string>Aqua</string>
    		<string>Background</string>
    		<string>LoginWindow</string>
    		<string>StandardIO</string>
    		<string>System</string>
    	</array>
    	<key>ProgramArguments</key>
    	<array>
    		<string>/opt/homebrew/opt/rinetd/sbin/rinetd</string>
    		<string>-c</string>
    		<string>/opt/homebrew/etc/rinetd.conf</string>
    		<string>-f</string>
    	</array>
    	<key>RunAtLoad</key>
    	<true/>
    	<key>StandardErrorPath</key>
    	<string>/opt/homebrew/var/log/rinetd.log</string>
    	<key>StandardOutPath</key>
    	<string>/opt/homebrew/var/log/rinetd.log</string>
    </dict>
    </plist>
    
    

    3. 拷贝文件

    这步骤不做其实也行

    拷贝文件 homebrew.mxcl.rinetd.plist ~/Library/LaunchAgents/ 目录下

    大功告成

    brew services list

    评论栏