Existe-t-il un moyen de savoir quelle application / package possède ou crée un fichier spécifique? Par exemple, sous Linux, ces commandes afficheront le propriétaire du package
apt-file /bin/progname
rpm -qf /bin/progname
yum whatprovides /bin/progname
Sous OS X, un fichier peut faire partie d'une application OS X native ou être installé par Macports ou Homebrew. Ce sont des environnements complètement différents. Existe-t-il des commandes pour chaque environnement pour vérifier quelle application / package possède un fichier spécifique?
pkgutil --file-info /Applications/TextEdit.app
, et vous obtiendrez qu'il appartient à com.apple.pkg.Essentials, mais vous indiquera également les mises à jour qui lui ont été appliquées (dans mon cas, com.apple.pkg.update.os.10.10.2.14C109 .patch, com.apple.pkg.update.os.10.10.3.14D131.delta, com.apple.pkg.update.os.10.9.2.13C64.combo).Ce n'est pas vraiment possible car il n'y a pas de gestion standardisée des packages.
Sauf si vous avez configuré MacPorts ou Homebrew différemment, vous trouverez toujours leurs exécutables dans un emplacement que personne d'autre n'utilise. Étant donné que MacPorts et Homebrew ne s'exécutent pas sous un compte d'utilisateur distinct, les fichiers qu'ils créent seront toujours la propriété de votre utilisateur ou
root
.Ce qui reste, c'est que vous ne pouvez essayer de deviner que sur la base de l'emplacement exécutable. Voici quelques règles:
MacPorts utilise
/opt/local/bin
et/opt/local/sbin
pour les exécutables, tout préfixé sous/opt/local
.Homebrew utilise
/usr/local/bin
pour les exécutables, tout le reste sous/usr/local/
.D'autres applications devraient créer leurs propres répertoires quelque part sous
/usr
, par exemple/usr/local/git/bin
pour le programme d'installation de Git OS X ou/usr/X11/bin
pour X11.Certains cadres du système lien symbolique
/usr/bin
, par exemple desrake
points à/System/Library/Frameworks/Ruby.framework
Aucune application ne doit jamais utiliser
/bin
ou/sbin
. Aucune application tierce (c'est-à-dire tout ce qui n'est pas un framework OS X) ne devrait utiliser/usr/bin
non plus.la source
pkgutil
plus, et cela semble assez pratique.port provides FILE
Pour les collecter en un seul endroit pour les deux autres gestionnaires de packages sur OSX:
Pour MacPorts (comme mentionné par Neil dans les commentaires ci-dessus):
Pour Brew, ce n'est pas si simple, mais on peut généralement trouver le package en utilisant:
Qui devrait afficher un lien logiciel contenant le nom du package, ou bien on peut utiliser d'autres suggestions de l' une de ces questions .
la source