Le répertoire /opt

De Wiki de la communauté Mandriva.

Il vous arrive parfois d'installer "par vos propres moyens" des applications sur votre machine ? Vous y installez parfois des scripts ? Vous ajoutez de temps en temps des personnalisations à certains fichiers de configuration du système ? Et vous vous demandez comment simplifier la maintenance de tout cela, particulièrement lors de l'installation ou de la mise à jour d'une nouvelle version de votre distribution ?

Si oui, cette page vous intéressera peut-être.

Sommaire

Applications et scripts

Que mettre dans /opt ?

Pour installer de nouvelles applications sur votre machine, il est conseillé de passer prioritairement par l'entremise des outils de votre distribution Mandriva, outils graphiques, auxquels vous accèderez, sous KDE par exemple, par Menu étoile > Installer et désinstaller des logiciels ou outils urpmi en console.

Il pourra cependant arriver, dans des cas particuliers, que vous souhaitiez installer autrement tel ou tel logiciel sur votre machine. Ce pourra être :

Pour y voir clair dans votre système, il est bon de placer tout cela en un même lieu : le répertoire /opt sera précisément ce lieu.

Vous y mettrez tous vos scripts, programmes exécutables et répertoires d'applications qui ont été installés "par vos propres moyens" (sans passer par urpmi ou par l'interface graphique d'installation).

D'un seul coup d'œil, vous pourrez voir l'ensemble des applications installées de cette façon et supprimer éventuellement ce qui ne vous est plus nécessaire.

Créer les liens dans /usr/local/bin

Mais on peut aller un peu plus loin.

Vous savez sans doute que les exécutables utilisateurs (ou les liens vers ces exécutables) installés par Mandriva sont placés dans le répertoire /usr/bin.

Il peut être utile, d'abord dans un souci de clarification (mais nous verrons que cela peut être utile pour d'autres raisons encore), de regrouper tous les liens qui pointent vers des exécutables de /opt dans le répertoire /usr/local/bin.

Ceci vous donnera un degré de liberté supplémentaire :

  • vous pourrez désactiver temporairement un de vos exécutables en supprimant son lien dans /usr/local/bin
  • pour supprimer complètement l'exécutable vous supprimerez aussi son fichier ou son répertoire d'application dans /opt

Ce sont ces liens que vous invoquerez par une commande en console, ou en cliquant sur une icône du bureau ou de la barre des tâches créée par vos soins (vous mettrez le lien dans la rubrique commande des propriétés de l'icône), ou à partir d'un raccourci clavier que vous créerez également si vous le souhaitez.

Attention !

Si votre /usr/local/bin n'a jamais été utilisé, il pourra être nécessaire pour commencer, de le rendre accessible à tous les utilisateurs. Pour cela taper sous root en console :

Image:Konsole.png
[root@ordi ~]# chmod +x /usr/local/bin
Astuce !
Voir plus bas comment récupérer automatiquement en une seule commande le contenu de votre /usr/local/bin/ lors d'une mise à jour de la distribution.
...

Exemples

Rendons tout cela plus palpable par un exemple bien concret...

Supposons donc que nous ayons installé dans /opt un binaire précompilé d'une version récente de Firefox en suivant les indications données ici. A la suite de cette installation le répertoire de Firefox a été donné à root et ne peut être modifié que par lui.

Supposons que nous ayons copié dans /opt le script toram.sh d'Eugeni Dodonov qui permet de monter un répertoire en RAM. Pour la sécurité nous le donnons aussi à root avec des permissions qui ne permettent qu'à root de le modifier, nous tapons donc ceci sous root :

[root@ordi]# cd /opt && chown root: toram.sh && chmod 644 toram.sh

Notre /opt maintenant ressemble à ceci :

[utilisateur@ordi]$ ls -l /opt
drwxr-xr-x 13 root root  1020 2010-02-25 14:37 firefox-<numéro_de_version>/
-rwxr-xr-x  1 root root   590 2010-02-15 23:17 toram.sh*

Les liens dans /usr/local/bin sont créés ainsi, sous root :

[root@ordi]# ln -sv /opt/firefox-<numéro_de_version>/firefox   /usr/local/bin/mon_firefox
[root@ordi]# ln -sv /opt/toram.sh   /usr/local/bin/toram.sh

Le répertoire /usr/local/bin a maintenant cette allure-là :

[utilisateur@ordi]$ ls -l /usr/local/bin/
lrwxrwxrwx 1 root root 15 2010-03-02 22:29 mon_firefox -> /opt/firefox-<numéro_de_version>/firefox*
lrwxrwxrwx 1 root root 13 2010-02-28 18:24 toram.sh -> /opt/toram.sh*

Nota Bene : Bien entendu dans ce qui précède <numéro_de_version> représente le numéro de version du moment de Firefox.

L'astuce qui tue : mettre /opt dans une partition qui lui soit propre

Pour une installation standard de Mandriva, on vous conseille toujours de placer le répertoire /home dans une partition à part, distincte de la partition qui abritera le répertoire du système, /. Ceci vous permet de conserver les données des utilisateurs, contenues dans /home, lors de l'installation d'une nouvelle version de la distribution (ce qui normalement a lieu tous les six mois !).

Il vous suffira de faire la même chose pour /opt pour pouvoir conserver d'une installation à l'autre les applications, scripts, fichiers de configuration que aurez placés dans /opt.

Vous pouvez créer cette partition lors de votre première installation de la distribution, mais si cela n'a pas été fait, vous pouvez créer maintenant cette partition.

Pour cela :

1. Faites une sauvegarde complète.

2. Renommez, temporairement, sous root, le répertoire /opt :

[roo:t@ordi]# mv -v /opt/ /optVieux/

3. Rendez-vous dans Outils > Outils système > Configurer votre ordinateur > Disques locaux > Gérer les partitions de vos disques durs et créez la nouvelle partition (choisissez ext4 comme type de système de fichiers et /opt comme point de montage). Montez la partition.

À noter !

Les dimensions que vous attribuerez à /opt dépendront de vos besoins prévisibles et de la place dont vous disposez. Essayez de prévoir large : si vous créez ensuite une autre partition derrière /opt, ce sera très laborieux ensuite d'élargir /opt !

A titre indicatif, le simple fait d'installer une version récente de Firefox et de Thunderbird vous prendra environ 60Mo.

4. Sortez du Centre de Contrôle de Mandriva et vérifiez que vous avez bien de nouveau un répertoire /opt

[utilisateur@ordi]$ ls -l /

dans la sortie de la commande vous devriez voir quelque chose comme :

drwxr-xr-x   8 root root  4096 2010-03-02 23:50 opt/
drwxr-xr-x   8 root root  4096 2010-03-02 23:22 optVieux/

5. Copiez, sous root le contenu de votre ancien répertoire sur la nouvelle partition montée :

[root@ordi]# cp -av /optVieux/*  /opt/

Lorsque vous serez sûr que la copie s'est bien passée, supprimez l'ancien répertoire :

[root@ordi]# rm -rfv /optVieux/

6. ... Rendez-vous à la section suivante...

Placer /usr/local/bin dans /opt

Une fois une partition créée pour le répertoire /opt, vous pourrez conserver son contenu d'une installation de Mandriva à une autre.

Il vous resterait en principe à recréer tous les liens de /usr/local/bin... sauf si, vous avez pris soin de placer le contenu de ce répertoire dans /opt !

Pour cela :

1. Déplacer le répertoire :

[root@ordi]# mv /usr/local/bin  /opt/usr_local_bin/

2. Créer un lien :

[root@ordi]# ln -sv /opt/usr_local_bin/  /usr/local/bin/


Désormais, après installation d'une nouvelle version de Mandriva, la seule chose à faire pour récupérer l'usage de vos exécutables de /opt sera : recréer le lien vers le répertoire /usr/local/bin !! (bon, en fait peut-être devrez-vous recréer aussi quelques icônes et quelques raccourcis claviers...).

À noter !
Si vous avez placé aussi dans /opt des fichiers de configuration personnalisés, vous aurez encore quelques bricoles à faire. Voir plus bas. Dans tous les cas, l'usage de /opt, particulièrement s'il occupe une partition à part, vous simplifiera considérablement les choses.

Mettre dans /opt des fichiers de configuration (complets ou par morceaux)

Fichiers entiers

Si vous créez ex nihilo sur votre machine un fichier de configuration qui n'est pas installé par défaut par Mandriva (ou par une application), vous pourriez le placer dans /opt et créer un lien vers ce fichier dans votre répertoire personnel. Ainsi, lors d'une réinstallation de la distribution, si /opt occupe une partition à part, vous n'auriez qu'à recréer le lien pour réactiver le fichier. Voir dans ce Wiki, à titre d'exemple, le cas du fichier ~/.inputrc.

Morceau de fichier

Le plus souvent vous souhaiterez plutôt ajouter quelques lignes en bloc à la fin d'un fichier de configuration existant. S'il en est ainsi, vous pourrez dans bien des cas regrouper l'ensemble de ces lignes en un fichier unique que vous placerez dans /opt et vous ferez en sorte que son contenu soit exécuté au sein du fichier principal. C'est souvent possible (pas toujours !) : si le fichier de configuration est écrit en shell Bash vous pourrez sourcer votre fichier de /opt dans le fichier principal, vous trouverez un exemple ici. Pour d'autres sortes de fichiers (qui ne sont pas écrits en shell), il est parfois possible de parvenir au même résultat par d'autres moyens (par exemple, par des directives include, comme dans les fichiers inputrc ou les fichiers xkb).

Si votre /opt occupe une partition à part, pour réactiver vos personnalisations après installation d'une nouvelle version de Mandriva, vous n'aurez qu'à réécrire dans chaque fichier concerné l'unique ligne qui source ou inclut votre fichier de /opt.

Attention !
Si vos modifications d'un fichier de configuration doivent être réparties en différents points du fichier et non regroupées en un bloc de lignes, les méthodes décrites ici ne sont pas utilisables.

Et si je ne peux pas créer une partition /opt ?

Si vous manquez de place sur votre disque, ou s'il est entièrement partitionné en quatre partitions primaires, il peut vous être impossible, ou trop compliqué de créer une nouvelle partition. Dans ce cas est-ce que tout ce qui précède est inutile ?

Pas du tout. Faites alors simplement ceci :

1. Sauvegarder régulièrement le contenu de votre /opt

2. Après réinstallation de votre distribution, recopier sous root, le contenu sauvegardé de votre répertoire dans le nouveau /opt (qui sera probablement vide). Vous taperez quelque chose comme ceci (en supposant que votre sauvegarde de /opt est montée en /media/Linux) :

[root@ordi]# cp -av /media/Linux/opt/* /opt/

Moyennant cela, tout ce qui a été dit dans cette page reste valide.