# Controler l'install d'un soft via Terminal?



## docnaturre (2 Novembre 2007)

Salut les génies !
Débutant en unixeries, je suis à la recherche -désespérée- d'une ligne de commande ou d'un script qui permette, après installation d'un soft, un listage sûr de tous les fichiers supplémentaires ajoutés à mon disque.
Vos lumières seraient les plus que bienvenues: je rame, je rame!


----------



## bompi (2 Novembre 2007)

Il faudrait d&#233;j&#224; conna&#238;tre la m&#233;thode d'installation dudit logiciel.

Si c'est par copie, il suffit de faire un _ls -lR_ du r&#233;pertoire destination.

Si tu l'as install&#233; par un paquetage (.pkg), il y a un dossier correspondant dans les r&#233;pertoires suivant :
- /Library/Receipts : si c'est une installation globale
- ~/Library/Receipts : si c'est une installation limit&#233;e &#224; ton compte

Un exemple : tu installes Onyx et, &#224; la fin, tu as un dossier _/Library/Receipts/Onyx.pkg_.
Si tu vas voir ce qu'il contient, tu trouveras un fichier : _/Library/Receipts/Onyx.pkg/Contents/Archive.bom_.

Si tu fais 
	
	



```
lsbom /Library/Receipts/Onyx.pkg/Contents/Archive.bom
```
tu verras tous les &#233;l&#233;ments install&#233;s sur le syst&#232;me.
Je pense que dans le fichier _/Library/Receipts/Onyx.pkg/Contents/Info.plist_ tu trouveras le dossier &#224; partir duquel sont renseign&#233;s les chemins relatifs donn&#233;s par _Archive.bom_, avec la clef IFPkgRelocatedPath.


----------



## docnaturre (2 Novembre 2007)

Merci pour la r&#233;ponse. Elle est un peu muscl&#233;e pour moi et j'en ai pour six mois d'&#233;tudes&#8230;


----------



## docnaturre (12 Novembre 2007)

bompi a dit:


> .
> 
> Si c'est par copie, il suffit de faire un _ls -lR_ du répertoire destination.
> 
> Si tu l'as installé par un paquetage () Je pense que dans le fichier _/Library/Receipts/Onyx.pkg/Contents/Info.plist_ tu trouveras le dossier à partir duquel sont renseignés les chemins relatifs donnés par _Archive.bom_, avec la clef IFPkgRelocatedPath.



Paumé de chez paumé je suis _ls -lR /Applications/monsoft_ m'indique une liste de ressources que j'obtiens aussi en affichant le contenu du paquet par un click droit. Mais pas le chemin des dossiers/fichiers secondaires liés à l'installation de monsoft (ApplicationSupport, Preferences,) C'est de ceux-là que je cherche à obtenir la liste autrement - si possible- qu'en tâtonnant dans les bibliothèques. 

La manoeuvre via _lsbom_ me laisse aussi perplexe: après une heure de sueur intense j'ai réussi à afficher par _cat_ le fichier _Onyx.pkg/Contents.Info.plist_ et à localiser la clef _IFPkgRelocatedPath_ mais rendu à ce point, que faire pour revenir à mes moutons: obtenir la liste des éléments ajoutés à mon DD le jour de l'installation d'Onyx.


----------



## bompi (12 Novembre 2007)

La commande _lsbom_ sur l'archive d'un paquetage permet de connaître les fichiers installés sur le système pour ce même paquetage. Mais le chemin indiqué est relatif. Pour connaître le point de départ de l'installation, c'est la clef _IFPkgRelocatedPath_ qui donne l'indication.

Pour reprendre mon exemple, la commande 
	
	



```
lsbom /Library/Receipts/OnyX.pkg/Contents/Archive.bom
```
renvoie quelque chose comme :





			
				lsbom a dit:
			
		

> .       40755   501/80
> ./OnyX.app      40755   501/80
> ./OnyX.app/Contents     40755   501/80
> ./OnyX.app/Contents/Info.plist  100644  501/80  947     1461554567
> ...


Et dans le fichier _/Library/Receipts/OnyX.pkg/Contents/Info.plist_, on voit la clef :





			
				Info.plist a dit:
			
		

> <key>IFPkgRelocatedPath</key>
> <string>/Applications</string>



Les chemins indiqués par _lsbom_ sont donc relatifs à _/Applications_. Il y a donc les fichiers/dossiers : _/Applications/Onyx.app_, _/Applications/Onyx.app/Contents_ etc.


----------



## docnaturre (14 Novembre 2007)

bompi, mille mercis, j'y vois un peu moins noir Me reste plus qu'à  comprendre le lien pratique entre tout ça et les dossiers installés par Onyx ailleurs que dans /Applications Mais bon, je te supplie de pas te sentir obligé de me répondre, t'es pas ma mère après tout Je vais peut-être aller faire un tour du côté de chez Titanium. Encore merci.


----------



## docnaturre (18 Novembre 2007)

J'ai fini par trouver mon bonheur avec <_mdfind monsoft_>. 

J'hésite pourtant à signaler la discussion comme résolue: mdfind liste tous les fichiers qui contiennent l'argument <_monsoft_> et il me reste à comprendre comment faire un tri dans les résultats. J'ai cru flairer une piste côté <_xargs_> mais ça m'a paru d'un emploi un peu délicat et j'ai attrapé mal à la tête avant d'avoir déchiffré la page man.


----------



## tatouille (18 Novembre 2007)

```
find /usr -name su* | xargs grep man9
grep man9 `find /usr -name su*`
/Library/Receipts/Automator.pkg/Contents/Archive.bom | grep Spotlight.action

Et cetera
```


----------



## bompi (18 Novembre 2007)

Je crois que tu as raison d'h&#233;siter


----------



## docnaturre (19 Novembre 2007)

tatouille a dit:


> ```
> find /usr -name su* | xargs grep man9
> grep man9 `find /usr -name su*`
> /Library/Receipts/Automator.pkg/Contents/Archive.bom | grep Spotlight.action
> ...



Merci pour ce joli poème chinois! Rien qu' à l'idée de le déchiffrer, la sueur m'en dégouline déjà jusqu'aux chevilles :afraid: 'su' c'est un truc dangereux ça, non?


----------



## docnaturre (19 Novembre 2007)

bompi a dit:


> Je crois que tu as raison d'hésiter



Un vieux reste de lucidité&#8230; Bon, j'ai pris le sarcasme en pleine figure  et il est mérité mais tu soupçonnes mal peut-être l'exploit -pour moi- d'avoir seulement réussi à débusquer ce satané _mfind_&#8230; C'est un monde Unix, je suis comme à poils au milieu de la forêt.
Cela dit, j'ai quand même réussi à virer à la main et in extenso DivX dont je ne savais que faire. Ça m'a pris une petite heure, mais bon&#8230;


----------



## r e m y (19 Novembre 2007)

docnaturre a dit:


> Un vieux reste de lucidité Bon, j'ai pris le sarcasme en pleine figure  et il est mérité mais tu soupçonnes mal peut-être l'exploit -pour moi- d'avoir seulement réussi à débusquer ce satané _mfind_ C'est un monde Unix, je suis comme à poils au milieu de la forêt.


 
mais tu veux vraiment te familiariser avec Unix, ou c'est juste que tu n'as pas pensé qu'on peut faire tout ça directement depuis le Finder de MacOS X ????


----------



## bompi (19 Novembre 2007)

docnaturre a dit:


> Un vieux reste de lucidité Bon, j'ai pris le sarcasme en pleine figure  et il est mérité mais tu soupçonnes mal peut-être l'exploit -pour moi- d'avoir seulement réussi à débusquer ce satané _mfind_ C'est un monde Unix, je suis comme à poils au milieu de la forêt.
> Cela dit, j'ai quand même réussi à virer à la main et in extenso DivX dont je ne savais que faire. Ça m'a pris une petite heure, mais bon


Aucune mauvaise intention de ma part, juste un peu d'ironie (facile).


----------



## tatouille (19 Novembre 2007)

docnaturre a dit:


> Merci pour ce joli poème chinois!&#8230; Rien qu' à l'idée de le déchiffrer, la sueur m'en dégouline déjà jusqu'aux chevilles :afraid: 'su' c'est un truc dangereux ça, non?



essaye il n y a rien de dangereux ds ce que je tai donne c'est pas mon genre, c est juste des filtres sur des resultats en lecture

find /usr -name su* | xargs grep man9


##trouve dans /usr tout les noms qui commencent par su## PUIS ##attrape le resultat et redirige vers  le deuxieme filtre##: ET tout ce qui contient man9

un conseil si tu veux apprendre ne copie colle pas, mais prefere la reecriture


----------



## docnaturre (20 Novembre 2007)

A REMY
O Remy venerable sage  : 
J'ai installé Little Snitch. En patouillant dans Systeme/Library, dossier par dossier, tout à la souris, j'ai débusqué au bout de trois quarts d'heure -arghh- un fichier LittleSnitch.kxt 
Dans mon systeme à moi chéri. Sans me prévenir. 
J'ai essayé de te le retrouver par Spotlight: rien. Par pomme-f: que dalle de chez désert pelé.
Et puis par hasard, il y a quelques jours, sur un forum Apple je tombe sur un joli (de mémoire) <keststat | grep -v apple> qui sentait bon à plein nez. Je te le teste direct dans le bash: en 1/2 seconde j'avais mon LittleSnitch.kxt qui s'avouait, en vert sur noir, cerné à fond. C'était tellement bon que j'en ai crié de joie. Heureusement la voisine du dessus a bon caractère: c'était dans les 4h du mat.

A TATOUILLE
"dangereux" était pour blaguer.

Tu aurais la charité de te fendre d'un troisième post tu me dirais:
- si je dois taper <entree>  trois fois ou seulement aller à la ligne et <entree> à la fin.
- j'ai pompé sur RealWorks un pas à pas pour rendre exécutable un script écrit sous Textedit. Ce serait mieux, moins bien? Je patauge encore avec la navigation sous Terminal. Ce que j'ai trouvé sur MB marche pas tout chez moi. J'explore.
Y a pas le feu: je potasse du man comme un bourrin. Je comprends au moins 3%.

A TOUS, merci pour vos réactions, même ironiques.


----------



## tatouille (21 Novembre 2007)

A TATOUILLE
"dangereux" était pour blaguer. 

par defintion une ligne est a valider par [enter]
quand tu ouvres une fenetre de terminal tu te trouves ds ton $HOME


```
>$ echo $HOME [enter]:D 
>$ echo $PWD [enter]:D person with disabilities ? Print Working Directory
>$ env
```
tu peux naviguer de maniere relative ou absolute


```
>$ cd $HOME/Desktop

ou
>$ echo $PWD
>$ cd Desktop
>$ echo $PWD
>$ cd ..
>$ echo $PWD
>$ cd .
>$ echo $PWD
>$ ls -laG .
>$ ls -laG $HOME
```


----------



## docnaturre (22 Novembre 2007)

Tatouille, mille mercis!


----------

