GNU/Linux >> Tutoriels Linux >  >> Linux

Le but de la commande "install" ?

J'ai vu l'install commande utilisée dans de nombreux Makefiles, et son existence et son utilisation sont un peu déroutantes. D'après les pages de manuel, cela ressemble à une imitation de cp avec moins de fonctionnalités, mais je suppose qu'il ne serait pas utilisé à moins qu'il n'ait un avantage sur cp . Quel est le problème ?

Réponse acceptée :

install copie non seulement les fichiers, mais modifie également son propriétaire et ses autorisations et supprime éventuellement les symboles de débogage des exécutables. Il combine cp avec chown , chmod et strip . Il s'agit d'un outil pratique de niveau supérieur qui accomplit une séquence commune de tâches élémentaires.

Un avantage de install sur cp pour installer des exécutables est que si la cible existe déjà, il supprime le fichier cible et en crée un nouveau. Cela supprime toutes les propriétés actuelles telles que les listes de contrôle d'accès et les fonctionnalités, qui peuvent être considérées à la fois comme un avantage et comme un inconvénient. Lors de la mise à jour des exécutables, s'il existe des instances en cours d'exécution de cet exécutable, elles continuent de fonctionner sans être affectées. En revanche, cp met à jour le fichier en place s'il y en a un. Sur la plupart des variantes d'Unix, cela échoue avec l'erreur EBUSY¹ si la cible est un exécutable en cours d'exécution ; sur certains, cela peut entraîner le blocage de la cible car elle charge des sections de code de manière dynamique et la modification du fichier entraîne le chargement d'un code absurde.

install est une commande BSD (ajoutée dans 4.2BSD, c'est-à-dire au début des années 1980). Il n'a pas été adopté par POSIX.

¹ "Fichier texte occupé". Dans ce contexte, "fichier texte" signifie "fichier exécutable binaire", pour d'obscures raisons historiques.


Linux
  1. Maîtrisez la commande Linux ls

  2. La commande locate sous Linux

  3. La commande, pip install --upgrade pip, installe toutes les versions de pip

  4. L'outil de ligne de commande pdftotext est-il pour mac ?

  5. Quel est le but de cd ` (backtick) ?

La commande timer sous Linux

Googler - Exécutez des recherches Google à partir de la ligne de commande

Tuto :Facebook Messenger en ligne de commande

Comment installer et utiliser la commande d'écran Ubuntu 20.04

Comment installer et utiliser la commande Ack sous Linux

Comment installer Google Chrome sur Ubuntu 18.04 en utilisant la ligne de commande ?