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.

Extrait de la page /opt

Le dossier /opt sur un système Linux est généralement utilisé pour stocker des logiciels tiers ou des applications qui ne font pas partie des paquets de distribution standard. Il peut contenir des sous-dossiers pour chaque logiciel ou application installée, chacun contenant les fichiers nécessaires pour l'exécution de ce logiciel ou application. Dans la plupart des cas, de tels packages suivent une structure de sous-répertoires prévisible ; la plupart stockent leurs binaires dans /opt/nomdupackage/bin/ et leurs pages de manuel dans /opt/nomdupackage/man/.

Les paquets installés dans /opt sont généralement installés par l'utilisateur ou par un administrateur, et non pas par le système de gestion de paquet (comme apt, yum, dnf, etc) qui est utilisé pour installer les paquets de la distribution standard. Certains logiciels peuvent également placer des liens vers leurs exécutables dans /usr/local/bin pour faciliter l'accès.

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.

Cédric ABONNEL dit Cédrix et CPT

 

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 dit Cédrix et CPT - Article publié le Dimanche 15 Janvier 2023

  • journal_geek/2023/20230116-scripts-partages-dans-linux.txt
  • Dernière modification : 2023/02/09 16:22
  • de Cédric ABONNEL