web-dev-qa-db-fra.com

services de brassage: où modifier la configuration?

Brew services a installé ce fichier plist pour mysql.

~ $ brew services list
Name    Status  User      Plist
mysql56 started mh /Users/mh/Library/LaunchAgents/homebrew.mxcl.mysql56.plist

Ce fichier est-il sûr à éditer (c'est-à-dire que le brassage écrasera-t-il les modifications apportées ici)? Existe-t-il une autre méthode que je devrais utiliser pour modifier le fichier?

24
Mark Harrison

Tout .plist les fichiers fournis avec les formules se trouvent dans le répertoire Cellar. Par exemple homebrew.mxcl.mysql.plist est dans /usr/local/Cellar/mysql/5.7.14. Vous pouvez le modifier et brew services l'utilisera.

Vous pouvez également modifier /Library/LaunchDaemons/homebrew.mxcl.mysql.plist et le rendre immuable avec Sudo chflags uchg /Library/LaunchDaemons/homebrew.mxcl.mysql.plist. Cela ne permettra pas à brew de réécrire ou de modifier .plist fichier.

30
Bobelev

Je (malheureusement) ne sais pas quel fichier vous pouvez modifier, mais je peux confirmer que l'édition de quoi que ce soit dans le Library/LaunchAgents le répertoire sera écrasé par brew services au prochain démarrage, donc la modifier directement ne va pas aider.

6
pnomolos
  1. Copie /Users/mh/Library/LaunchAgents/homebrew.mxcl.mysql56.plist quelque part
  2. apporter des modifications à la copie de plist
  3. courir brew services start mysql56 {path to modified copy of plist file}
6
Mr Rogers

Lorsque vous installez un package avec la formule Homebrew
un fichier .plist est placé dans le dossier du package
(généralement/usr/local/Cellar/... dossier)

sous OSX, ce fichier est copié/supprimé vers/depuis le

/ Bibliothèque/LaunchDaemons /

dossier à chaque fois que vous démarrez/arrêtez le service avec Homebrew:

brew services start <the-app>
brew services stop  <the-app>

Mieux vaut alors "bloquer" ce fichier
agit sur le fichier dans le dossier de votre package ...

cet exemple est pour OSX/Mojave & MariaDB:
supposons que vous souhaitiez modifier le dossier de données par défaut
et le port TCP de 3306 à 3308

modifier le

/usr/local/Cellar/mariadb/10.4.6_1/homebrew.mxcl.mariadb.plist

localisez cette section dans le XML
apportez les modifications souhaitées (choisissez le dossier souhaité):

...
<string>/usr/local/opt/mariadb/bin/mysqld_safe</string>
<string>--datadir=/DAT/mariadb</string>     
<string>--port=3308</string> 
...

puis arrêtez et redémarrez le service avec Homebrew
et voilá ... vous pouvez utiliser netsat pour confirmer:

netstat|grep 3308 
0
ZEE

Réponse courte:

Modifiez la configuration dans usr/local/Cellar/ + Nom du fichier Formula/+ .plist

PAS dans le fichier répertorié à côté du démon dans la liste brew services


Longue réponse:

Lorsque vous installez une formule, son fichier plist atterrit dans usr/local/Cellar, Dans un répertoire nommé d'après la formule.

Lorsque vous générez un démon avec brew services start, Ce fichier est alors copié vers l'utilisateur en cours d'exécution Library/LaunchAgents/, Par exemple:

pour root, c'est Library/LaunchAgents/

pour un utilisateur normal - ~/Library/LaunchAgents

C'est important, cela ne sert à rien de changer ce fichier, c'est juste une copie qui sera écrasée la prochaine fois que vous exécuterez le service en tant que cet utilisateur.

Cependant, vous pouvez examiner ce fichier pour voir quelle configuration a été utilisée pour cette instance particulière du service.

0
Maciej Beimcik