Scripts partagés dans Linux

Création de scripts exécutables pour tous les utilisateurs de l'ordinateur. Crédit photo : Midjourney Bot

Vous êtes satisfait car vous avez créé vos premiers script BASH ou script PHP. Pour que tous les utilisateurs de l'ordinateur puissent les utiliser, vous pouvez les placer dans les répertoires les plus courants.

Pour que tous les utilisateurs de l'ordinateur puissent utiliser les scripts, vous pouvez les placer dans les répertoires les plus courants :

  • /usr/local/bin : Ce répertoire est utilisé pour stocker les commandes et les scripts utilisateur installés. Il est accessible pour tous les utilisateurs, mais nécessite des privilèges d'administrateur pour y installer des scripts.
  • /usr/bin : Ce répertoire est utilisé pour stocker les commandes système. Il est également accessible pour tous les utilisateurs, mais nécessite des privilèges d'administrateur pour y installer des scripts.
  • /usr/sbin : Ce répertoire est utilisé pour stocker les commandes système qui nécessitent des privilèges d'administrateur pour être exécutées. Il nécessite des privilèges d'administrateur pour y installer des scripts.

Il n'y a pas de règles spécifiques pour les scripts personnels partagés. Ces répertoires ne sont pas les seuls où vous pouvez placer un script. Ils ont l'avantage d’être accessible à l'ensemble des utilisateurs tant au niveau des droits que des déclaration dans la variable PATH.

Le répertoire choisi doit être déclaré dans la variable d'environnement PATH. Cela signifie que lorsque l'utilisateur exécute une commande, le système cherchera dans ce répertoire en plus des autres répertoires déjà inclus dans PATH pour trouver l'exécutable correspondant.

Voir la page concernant la variable PATH

Il faut rendre le script exécutable en utilisant la commande chmod : Cette commande permet de changer les permissions d'un fichier. Pour rendre un script exécutable pour tout le monde, vous pouvez utiliser la commande suivante :

sudo chmod +x <nom_du_script>

Pour rendre un script exécutable, il doit commencer par un shebang (#!) qui indique au système quel interpréteur utiliser pour exécuter le script.

Le répertoire /opt correspond généralement aux programmes et applications qui ne font pas partie du système d'exploitation de base. Il peut contenir des programmes téléchargés et installés par l'utilisateur, ainsi que des applications développées par des tiers. Les programmes et les bibliothèques installés dans /opt sont généralement indépendants du système d'exploitation et peuvent être utilisés sur différentes distributions Linux.

Il est courant de voir des sous-répertoires créés dans /opt pour organiser les différents programmes et applications installés. Par exemple, un développeur pourrait installer un jeu dans /opt/games/mygame, ou un utilisateur pourrait installer un logiciel de traitement de texte dans /opt/office/wordprocessor. Il est également courant de voir des sous-répertoires pour les différentes versions d'une application, comme /opt/myapp/1.0 et /opt/myapp/2.0.

Il est possible de créer un lien symbolique (également appelé raccourci ou alias) vers un script qui se trouve dans /usr/local/bin depuis un emplacement comme /opt. Cela permet à l'utilisateur d'accéder facilement au script depuis un autre emplacement, sans avoir à se rappeler ou saisir l'emplacement complet du script. Pour créer un lien symbolique, vous pouvez utiliser la commande ln -s suivie de l'emplacement du script cible et de l'emplacement où vous souhaitez créer le lien. Par exemple:

ln -s /usr/local/bin/myscript /opt/myapp/myscript

Cela crée un lien symbolique nommé myscript dans le répertoire /opt/myapp qui pointe vers le script myscript dans le répertoire /usr/local/bin.

Il est également possible de créer un script dans /usr/local/bin qui exécute un programme qui se trouve dans /opt. Cela permet à l'utilisateur d'accéder au programme en utilisant un nom de commande simple, plutôt que de devoir saisir l'emplacement complet du programme dans /opt.

Pour ce faire, vous pouvez créer un script shell dans /usr/local/bin qui contient les commandes pour exécuter le programme dans /opt. Par exemple :

#!/bin/bash
/opt/myapp/myprogram

Le script doit avoir les autorisations d'exécution.

Enfin, les programmes dans /opt peuvent nécessiter des librairies ou des exécutables pour fonctionner, il est donc important de s'assurer que ces dépendances soient présentes et accessibles.

Les répertoires dans /home/<username> peuvent également contenir des scripts personnels à partager. La contrainte et de partager le dossier et que chaque utilisateur écrive le chemin complet des scripts.

  • /home/<username>/bin : Ce répertoire est généralement utilisé pour stocker les commandes et les scripts utilisateur. Par défaut, il est uniquement accessible pour l'utilisateur <username> qui l'a créé, donc il n'est pas nécessaire d'avoir des privilèges d'administrateur pour y installer des scripts. Les droits peuvent être modifier sur ce dossier afin de rendre accessible les scripts de ce dossier aux autres utilisateurs de la machine.
  • /home/<username>/.bin : Ce répertoire est généralement utilisé pour stocker les commandes et les scripts utilisateur personnels. Il est caché (car le point en début de nom) donc il n'est pas visible pour les autres utilisateurs. Il est plus adapté pour stocker des scripts qui ne doivent pas être partagés ou modifiés par d'autres utilisateurs.

Le plus commun est d'utiliser un des trois dossiers cité au début de l'article.

Cédric ABONNEL (cedricabonnel) et CPT - Article publié le Dimanche 15 Janvier 2023