brew 服务:在哪里编辑配置?
brew services: where to edit configuration?
Brew 服务已为 mysql 安装了此 plist 文件。
~ $ brew services list
Name Status User Plist
mysql56 started mh /Users/mh/Library/LaunchAgents/homebrew.mxcl.mysql56.plist
此文件是否可以安全编辑(即 brew 会覆盖此处所做的更改)?我应该使用另一种方法来修改文件吗?
我(不幸的是)不知道您可以编辑哪个文件,但我可以确认编辑 Library/LaunchAgents
目录中的任何内容都会被 brew services
下次启动,所以直接编辑它不会有帮助。
公式附带的所有 .plist
文件都可以在 Cellar 目录中找到。例如 homebrew.mxcl.mysql.plist
在 /usr/local/Cellar/mysql/5.7.14
中。您可以对其进行修改,brew services
将使用它。
或者您可以修改 /Library/LaunchDaemons/homebrew.mxcl.mysql.plist
并使用 sudo chflags uchg /Library/LaunchDaemons/homebrew.mxcl.mysql.plist
使其不可变。这将不允许 brew
重写或修改 .plist
文件。
- 在某处复制
/Users/mh/Library/LaunchAgents/homebrew.mxcl.mysql56.plist
- 更改 plist 副本
- 运行
brew services start mysql56 {path to modified copy of plist file}
更新 2022 - 对于较新的版本:
- 运行
brew services start mysql56 --file=path to modified copy of plist file
当您使用 Homebrew 公式安装包时
.plist 文件放在包文件夹中
(通常是/usr/local/Cellar/...文件夹)
在OSX这个文件是copyed/deletedto/from
/Library/LaunchDaemons/
文件夹
每次使用 Homebrew start/stop 服务时:
brew services start <the-app>
brew services stop <the-app>
比'blocking'这个文件更好
正在处理您的包文件夹中的文件...
此示例适用于 OSX/Mojave 和 MariaDB:
假设您想更改默认数据文件夹
TCP 端口从 3306 到 3308
编辑
/usr/local/Cellar/mariadb/10.4.6_1/homebrew.mxcl.mariadb.plist
在 XML
中找到此部分
进行您想要的更改(选择您想要的文件夹):
...
<string>/usr/local/opt/mariadb/bin/mysqld_safe</string>
<string>--datadir=/DAT/mariadb</string>
<string>--port=3308</string>
...
然后用 Homebrew 停止并重新启动服务
等瞧...你可以使用netsat来确认:
netstat|grep 3308
简答:
编辑usr/local/Cellar/
中的配置+公式名称/+.plist
文件
NOT 在 brew services
列表
中守护程序旁边列出的文件中
长答案:
当您安装公式时,其 plist
文件位于 usr/local/Cellar
中以公式命名的目录中。
当您使用 brew services start
生成守护进程时,此文件会 复制 到 运行ning 用户的 Library/LaunchAgents/
,例如:
对于 root,它是 Library/LaunchAgents/
普通用户 - ~/Library/LaunchAgents
这很重要,更改此文件没有意义,它只是一个副本,下次您运行服务作为该用户时将被覆盖。
但是,您可以检查此文件以查看用于此特定服务实例的配置。
Brew 服务已为 mysql 安装了此 plist 文件。
~ $ brew services list
Name Status User Plist
mysql56 started mh /Users/mh/Library/LaunchAgents/homebrew.mxcl.mysql56.plist
此文件是否可以安全编辑(即 brew 会覆盖此处所做的更改)?我应该使用另一种方法来修改文件吗?
我(不幸的是)不知道您可以编辑哪个文件,但我可以确认编辑 Library/LaunchAgents
目录中的任何内容都会被 brew services
下次启动,所以直接编辑它不会有帮助。
公式附带的所有 .plist
文件都可以在 Cellar 目录中找到。例如 homebrew.mxcl.mysql.plist
在 /usr/local/Cellar/mysql/5.7.14
中。您可以对其进行修改,brew services
将使用它。
或者您可以修改 /Library/LaunchDaemons/homebrew.mxcl.mysql.plist
并使用 sudo chflags uchg /Library/LaunchDaemons/homebrew.mxcl.mysql.plist
使其不可变。这将不允许 brew
重写或修改 .plist
文件。
- 在某处复制
/Users/mh/Library/LaunchAgents/homebrew.mxcl.mysql56.plist
- 更改 plist 副本
- 运行
brew services start mysql56 {path to modified copy of plist file}
更新 2022 - 对于较新的版本:
- 运行
brew services start mysql56 --file=path to modified copy of plist file
当您使用 Homebrew 公式安装包时
.plist 文件放在包文件夹中
(通常是/usr/local/Cellar/...文件夹)
在OSX这个文件是copyed/deletedto/from
/Library/LaunchDaemons/
文件夹 每次使用 Homebrew start/stop 服务时:
brew services start <the-app>
brew services stop <the-app>
比'blocking'这个文件更好
正在处理您的包文件夹中的文件...
此示例适用于 OSX/Mojave 和 MariaDB:
假设您想更改默认数据文件夹
TCP 端口从 3306 到 3308
编辑
/usr/local/Cellar/mariadb/10.4.6_1/homebrew.mxcl.mariadb.plist
在 XML
中找到此部分
进行您想要的更改(选择您想要的文件夹):
...
<string>/usr/local/opt/mariadb/bin/mysqld_safe</string>
<string>--datadir=/DAT/mariadb</string>
<string>--port=3308</string>
...
然后用 Homebrew 停止并重新启动服务
等瞧...你可以使用netsat来确认:
netstat|grep 3308
简答:
编辑usr/local/Cellar/
中的配置+公式名称/+.plist
文件
NOT 在 brew services
列表
长答案:
当您安装公式时,其 plist
文件位于 usr/local/Cellar
中以公式命名的目录中。
当您使用 brew services start
生成守护进程时,此文件会 复制 到 运行ning 用户的 Library/LaunchAgents/
,例如:
对于 root,它是 Library/LaunchAgents/
普通用户 - ~/Library/LaunchAgents
这很重要,更改此文件没有意义,它只是一个副本,下次您运行服务作为该用户时将被覆盖。
但是,您可以检查此文件以查看用于此特定服务实例的配置。