10 votes

/usr/local ou /opt sous Windows

Sur les systèmes Linux, vous avez des arborescences de répertoires comme /usr/local ou /opt où vous pouvez placer des applications "installées sur mesure" qui n'ont pas de paquet dans votre distribution et qui, par conséquent, ne s'intègrent pas bien dans le FHS de votre distribution.

Sous Windows, où placer les applications qui ne fournissent pas de programme d'installation et qui, par conséquent, ne se divisent pas en deux parties distinctes. C:\Program Files (x86) y C:\ProgramData ? Existe-t-il une convention bien établie ?


Le contexte : De nombreux petits outils (par exemple, les outils sysinternals) ou des applications supportées par Unix (par exemple, emacs) ne fournissent pas d'installateur Windows mais plutôt un fichier zip avec l'instruction " Il suffit de l'extraire n'importe où et de lancer le fichier exe. ". Maintenant, je かもしれない créer un répertoire de premier niveau arbitraire, par exemple C:\Tools mais, étant pédant, j'aimerais qu'il porte le "bon" nom. Existe-t-il un consensus ou chacun invente-t-il sa propre convention pour ce type d'application ?

3voto

Clipper Points 31

Comme j'ai souvent les mêmes petits outils à la maison et au travail, et parce que les entreprises ne permettent généralement pas aux utilisateurs d'avoir des privilèges d'administrateur, il est possible d'installer, par exemple, dans l'ordinateur de l'entreprise, un logiciel de gestion de l'information. C:\tools ou même "C:\Program Files\Tools" n'est pas une option. Afin de garder mon installation scripts la même, j'utilise une jonction root qui pointe vers mon répertoire utilisateur. Cette jonction nécessite des privilèges d'administrateur mais c'est un one shot :

C:\>mkdir %USERPROFILE%\localapp
C:\>mklink /J localapp %USERPROFILE%\localapp

Vous pouvez alors fournir C:\localapp aux installateurs MSI d'outils portables ou d'outils unzip là, même sans privilèges, et utiliser cela dans le PATH. J'ai par exemple la même chose à la maison et au travail :

C:\localapp\Mozilla
C:\localapp\Sysinternals
C:\localapp\Joeware
...

Jusqu'à un certain point (comme le fait que la jonction puisse ne pas exister), cela vous permet également d'avoir les mêmes outils sur tous les ordinateurs si vous utilisez un profil itinérant.

Vous pouvez aussi bien installer dans C:\Users\yourself\localapp directement, mais dans mon cas mon nom d'utilisateur n'est pas le même partout, et %USERPROFILE% ne peuvent pas toujours être utilisés sans être étendus (par exemple dans le registre), c'est donc un problème.

0voto

Carl J du Preez Points 31

Il n'y a pas de règle absolue à ce sujet.

Suggestion : Allez-y avec c:\tools , o c:\opt si vous êtes plus familier avec linux.

Il se peut que vous deviez modifier les autorisations sur ce nouveau dossier, car certaines applications auront besoin d'autorisations élevées pour écrire leurs propres données ici.

En tant que développeur, j'utilise cette structure :

C:\
+-- code  // for repositories   
+-- data  // db files  
+-- tools // software tools

Cela me permet de garder facilement la trace des outils que j'utilise et de leurs configurations lorsque je mets en place un nouvel environnement de développement sur une autre machine.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X