Pourquoi devrais-je tout transférer dans / opt?

13

Chaque fois que je lis les astuces pour installer un SDK, un IDE, une extension, etc., il est dit que je devrais les décompresser dans le dossier /opt . Pourquoi dois-je le faire?

Lors de l'installation d'Ubuntu, j'ai lu que je ne devais définir que 10-20 Gio pour le système de fichiers / et l'espace restant défini pour /home . Alors, devrais-je étendre l'espace pour le dossier racine ou laisser tout ce qui se trouve à /home ? Y a-t-il une différence?

    
posée Praytic 19.01.2016 - 15:08
la source

5 réponses

17

Tout d’abord, comprenez que tout répertoire qui n’est pas explicitement un point de montage pour une partition distincte (ou un sous-répertoire d’un tel point de montage) est stocké sur la partition racine ( / ). Ainsi, si vous avez root ( / ) et /home , et aucune autre partition, votre répertoire /opt est simplement un répertoire root ( / ). De même pour /tmp , /sbin et toute autre chose. Ainsi, la question initiale est basée sur le postulat erroné selon lequel vous avez besoin de partitions séparées pour chaque répertoire qui mène à root ( / ), et vous ne pouvez donc pas y répondre directement.

Deuxièmement, /opt est utilisé pour les logiciels tiers, ce qui, dans le contexte d'Ubuntu, signifie un logiciel précompilé qui n'est pas distribué via les paquets Debian. De temps en temps, vous verrez la documentation officielle du programme qui fait référence à /opt , mais les paquets Debian sont disponibles et déposent ces fichiers ailleurs. Dans ce cas, vous devez ignorer la documentation officielle ou au moins ignorer ses références d'emplacement de fichier lorsque vous utilisez le paquet Debian. De plus, si vous avez le choix d'utiliser un paquet précompilé via une archive tar ou un paquet Debian, il est généralement préférable d'utiliser le paquet Debian. Globalement, l'utilisation de /opt est assez rare de nos jours. Si vous pensez toujours que vous devez placer les fichiers dans /opt , vous devriez faire le nom du logiciel, car les gens ici peuvent savoir si un paquet Debian est disponible pour ce logiciel.

Enfin, en combinant les deux points précédents, il est très rare que les installations Ubuntu divisent /opt en une partition distincte, car il est rare que des quantités importantes de données y soient stockées. La plupart des logiciels Ubuntu vont dans /usr et d'autres endroits. Il était une fois commun de diviser /usr en une partition séparée, mais cette pratique est assez rare aujourd'hui. Si vous avez besoin d'installer beaucoup de logiciels dans /opt , alors créer une partition distincte pourrait avoir un sens - mais dans de nombreux cas, cela ne sera pas vraiment utile. Des partitions séparées ont du sens si vous devez gérer la sécurité différemment, si différentes fonctionnalités du système de fichiers sont utiles, pour partager des données entre plusieurs installations du système d'exploitation dans une configuration à démarrage multiple, et pour d'autres raisons. L'installation de logiciel de routine ne devrait pas bénéficier d'une partition distincte; En fait, créer une partition distincte pour /opt pourrait poser problème si la taille consommée par le logiciel stocké y était modifiée ou si l'estimation de la taille n'était pas correcte au départ.

    
réponse donnée Rod Smith 19.01.2016 - 17:54
la source
8

vous?

Le fait est que vous n'avez pas besoin de le faire. Utiliser /opt est une convention. Je recommanderais de l'utiliser, mais ce n'est pas strictement nécessaire.

De Hiérarchie du système de fichiers Linux: Chapitre 1. Hiérarchie du système de fichiers Linux :

  

1.13. / opt

     

Ce répertoire est réservé à tous les logiciels et modules complémentaires qui ne font pas partie de l’installation par défaut. Par exemple, les packages StarOffice, Kylix, Netscape Communicator et WordPerfect se trouvent normalement ici. Pour se conformer à la norme FSSTND, toutes les applications tierces doivent être installées dans ce répertoire. Tout paquet à installer ici doit localiser ses fichiers statiques (ex.: Polices supplémentaires, clipart, fichiers de base de données) doit localiser ses fichiers statiques dans une arborescence séparée / opt / 'package' ou / opt / 'provider' Windows installera un nouveau logiciel dans sa propre arborescence C: \ Windows \ Progam Files \ "Program Name"), où "package" est un nom décrivant le progiciel et "provider" est le nom enregistré LANANA du fournisseur.

     

Bien que la plupart des distributions négligent de créer les répertoires / opt / bin, / opt / doc, / opt / include, / opt / info, / opt / lib et / opt / man, ils sont réservés aux administrateurs locaux. Les packages peuvent fournir des fichiers "frontaux" destinés à être placés (en liant ou en copiant) ces répertoires réservés par l'administrateur système, mais doivent fonctionner normalement en l'absence de ces répertoires réservés. Les programmes à appeler par les utilisateurs se trouvent dans le répertoire / opt / 'package' / bin. Si le paquet contient des pages de manuel UNIX, elles se trouvent dans / opt / 'package' / man et la même sous-structure que / usr / share / man doit être utilisée. Les fichiers de package variables doivent être installés dans / var / opt. Les fichiers de configuration spécifiques à l'hôte sont installés dans / etc / opt.

     

En aucun cas, d'autres fichiers de package ne peuvent exister en dehors des hiérarchies / opt, / var / opt et / etc / opt, à l'exception des fichiers de package qui doivent résider à des emplacements spécifiques de l'arborescence du système de fichiers pour fonctionner correctement. Par exemple, les fichiers de verrouillage de périphérique dans / var / lock et les périphériques dans / dev. Les distributions peuvent installer des logiciels dans / opt, mais ne doivent pas modifier ou supprimer des logiciels installés par l'administrateur du système local sans l'accord de l'administrateur du système local.

     

L'utilisation de / opt pour les logiciels complémentaires est une pratique bien établie dans la communauté UNIX. L'interface binaire d'application System V [AT & amp; T 1990], basée sur la définition d'interface System V (troisième édition) et la norme de compatibilité binaire Intel v.2 (iBCS2), permet une structure / opt très similaire à celle définie ici.

     

En règle générale, toutes les données requises pour prendre en charge un package sur un système doivent être présentes dans / opt / 'package', y compris les fichiers destinés à être copiés dans / etc / opt / 'package' et / var / opt / 'package' ainsi que des répertoires réservés dans / opt. Les restrictions mineures sur les distributions utilisant / opt sont nécessaires car des conflits sont possibles entre la distribution installée et les logiciels installés localement, en particulier dans le cas de chemins d'accès fixes trouvés dans certains logiciels binaires.

     

La structure des répertoires ci-dessous / opt / 'provider' est laissée au conditionneur du logiciel, bien qu'il soit recommandé d'installer les packages dans / opt / 'provider' / 'package' et de suivre une structure similaire à les directives pour / opt / package. Une raison valable pour diverger de cette structure concerne les packages de support qui peuvent avoir des fichiers installés dans / opt / 'provider' / lib ou / opt / 'provider' / bin.

    
réponse donnée Torrien 19.01.2016 - 15:15
la source
4

/opt est utilisé pour les applications externes (parfois propriétaires) qui ne sont pas considérées comme faisant partie de la distribution Linux. Ces applications peuvent avoir des chemins d'accès codés en dur et ne fonctionneront donc correctement que si elles sont installées sur /opt - mais s'il n'y a pas de chemin codé en dur, vous pouvez les installer sur n'importe quel chemin. Un programme installé dans /opt est censé être autonome.

La principale raison de l'utilisation de /opt est de fournir un chemin standard standard où des logiciels externes peuvent être installés sans interférer avec le reste du système installé. /opt n'apparaît pas dans les chemins d'accès standard du compilateur ou de l'éditeur de liens ( gcc -print-search-dirs ou /etc/ld.so.conf etc.), les en-têtes et bibliothèques installées sont donc quelque peu isolées du système principal et ne doivent pas interférer avec les programmes déjà installés. p>

L'utilisation de /opt est spécifiée par le standard de hiérarchie du système de fichiers : /opt , qui indique que /opt provient à l'origine d'Unix.

  

/ opt: progiciels d'application complémentaires

     

Objectif

     

/ opt est réservé à l’installation de logiciels d’application supplémentaires   paquets.

     

Un paquet à installer dans / opt doit localiser ses fichiers statiques dans un   séparer / opt / & lt; package & gt; ou / opt / & lt; fournisseur & gt; arborescence de répertoires, où   & lt; package & gt; est un nom décrivant le progiciel et & lt; provider & gt;   est le nom enregistré LANANA du fournisseur.

     

Configuration requise

     

Les répertoires / opt / bin, / opt / doc, / opt / include, / opt / info, / opt / lib,   et / opt / man sont réservés à l’administrateur local du système. Paquets   peut fournir des fichiers "frontaux" destinés à être placés dans (par liaison ou   copier) ces répertoires réservés par l'administrateur du système local,   mais doit fonctionner normalement en l'absence de ces réservées   répertoires.

     

Les programmes à invoquer par les utilisateurs doivent se trouver dans le répertoire   / opt / & lt; package & gt; / bin ou sous / opt / & lt; provider & gt; hiérarchie. Si la   Le package inclut les pages de manuel UNIX, elles doivent être situées dans   / opt / & lt; package & gt; / share / man ou sous / opt / & lt; provider & gt; la hiérarchie et   la même sous-structure que / usr / share / man doit être utilisée.

     

Les fichiers de package qui sont variables (changement dans le fonctionnement normal) doivent être   installé dans / var / opt. Voir la section sur / var / opt pour plus   informations.

     

Les fichiers de configuration spécifiques à l’hôte doivent être installés dans / etc / opt. Voir   la section sur / etc pour plus d'informations.

     

Aucun autre fichier de package ne doit exister en dehors de / opt, / var / opt et   / etc / opt hierarchies sauf pour les fichiers de paquet qui doivent résider   dans des emplacements spécifiques dans l'arborescence du système de fichiers afin de fonctionner   correctement. Par exemple, les fichiers de verrouillage de périphérique doivent être placés dans / var / lock   et les appareils doivent être situés dans / dev.

     

Les distributions peuvent installer des logiciels dans / opt, mais ne doivent pas modifier ou   supprimer le logiciel installé par l'administrateur du système local sans   le consentement de l'administrateur du système local.

     

Justification

     

L’utilisation de / opt pour les logiciels complémentaires est une pratique bien établie dans   la communauté UNIX. L'interface binaire de l'application System V [AT & amp; T   1990], basé sur la définition de l’interface System V (troisième édition),   fournit une structure / opt très similaire à celle définie ici.

     

La norme de compatibilité Intel Binary v. 2 (iBCS2) fournit également un   structure similaire pour / opt.

     

En règle générale, toutes les données requises pour prendre en charge un package sur un système doivent être   présent dans / opt / & lt; package & gt ;, y compris les fichiers destinés à être copiés   dans / etc / opt / & lt; package & gt; et / var / opt / & lt; package & gt; ainsi que réservé   répertoires dans / opt.

     

Les restrictions mineures sur les distributions utilisant / opt sont nécessaires   car des conflits sont possibles entre la distribution installée et   logiciels installés localement, en particulier dans le cas de noms de chemins fixes   trouvé dans certains logiciels binaires.

     

La structure des répertoires sous / opt / & lt; provider & gt; est laissé jusqu'à   le conditionneur du logiciel, bien qu'il soit recommandé que les paquets   sont installés dans / opt / & lt; provider & gt; / & lt; package & gt; et suivez un semblable   structure aux directives pour / opt / package. Une raison valable pour   divergeant de cette structure est pour les paquets de support qui peuvent avoir   Fichiers installés dans / opt / & lt; provider & gt; / lib ou / opt / & lt; provider & gt; / bin.

    
réponse donnée bain 19.01.2016 - 18:40
la source
3

Il n'y a rien de sacré dans /opt , il est juste pratique de mettre un logiciel précompilé qui devrait être accessible à tous les utilisateurs d'un système dans ce répertoire. Si vous êtes le seul utilisateur du système, il n’ya rien de mal à l’extraire dans votre répertoire personnel. Et même si plusieurs utilisateurs du système ont besoin d’accéder à ce logiciel mais que vous souhaitez utiliser l’espace de votre partition /home , il n’ya rien de mal à créer un répertoire /home/softwarename accessible au public et à y extraire votre logiciel (le Si vous avez un utilisateur nommé softwarename , vous ne pourrez pas l'utiliser dans le répertoire personnel de l'utilisateur.

    
réponse donnée fkraiem 19.01.2016 - 15:18
la source
2

Les réponses détaillées sont très bonnes, mais (à part les logiciels qui peuvent contenir des chemins absolus codés en dur - ce n’est pas la meilleure pratique de programmation), l’essentiel est que les logiciels non-systèmes / non-distribution ne soient pas stockés avec les fichiers système réguliers.

Mettre les choses en /opt ou /usr/local garde les choses propres et plus sûres.

En particulier, votre chemin de recherche de logiciel ($ PATH) détermine l'ordre dans lequel les emplacements sont recherchés lorsque vous recherchez un programme d'un nom particulier à exécuter. Habituellement, les endroits tels que /opt et /usr/local se trouvent en fin de liste.

Si vous installez un paquet qui contient un programme nommé cp , l’ordre de recherche par défaut fourni avec votre distribution trouvera celui qui est normal car le répertoire dans lequel il est stocké est recherché avant les endroits comme /opt .

Si cela ne fonctionnait pas de cette façon, qui sait ce qui pourrait casser ou ouvrir une faille de sécurité si un programme nommé cp qui fait autre chose est exécuté lorsque vous pensez simplement copier certains fichiers.

Si quelque chose comme cela se produit, cela peut prendre un certain temps avant que quelqu'un pense à exécuter une commande comme type cp (ce qui pourrait même ne pas suffire à montrer que quelque chose ne va pas) pour découvrir que ce qui est exécuté n'est pas ce que vous en pensez Jusque-là, vous êtes coincé à "Tout est exactement comme cela devrait être à part le petit détail que ça ne marche pas!"

Cela permet d'éviter que des événements inattendus se produisent et évite également les situations où les mises à jour du système peuvent supprimer ou remplacer tout ou partie de vos packages installés "personnalisés". Ou, à l'inverse, certains programmes "personnalisés" peuvent remplacer les programmes fournis par le système sur lesquels de nombreux autres programmes ou scripts peuvent se fier.

D'un point de vue administratif, mélanger les programmes / fichiers "système" et "facultatif" aux mêmes emplacements place votre système dans un état "indéfini" ou du moins "ambigu".

Si vous avez un problème avec votre système ou un programme et que vous avez besoin d’aide, l’une des premières questions à se poser est "Qu'est-ce que vous avez changé?" et "Pouvons-nous temporairement désactiver certains de ces changements pour que nous sachions que nous examinons le véritable problème et non pas simplement un symptôme de quelque chose d’autre."

Avec des emplacements séparés, ces modifications peuvent être rapidement identifiées et tout ce que vous avez à faire (au moins pour les programmes eux-mêmes) est de supprimer temporairement leurs répertoires du chemin.

    
réponse donnée Joe 20.01.2016 - 22:37
la source

Lire d'autres questions sur les étiquettes