install
non seulement copie des fichiers, mais modifie également sa propriété et ses autorisations et supprime éventuellement les symboles de débogage des exécutables. Il combine cp
avec chown
, chmod
et strip
. C'est un outil pratique de niveau supérieur qui accomplit une séquence commune de tâches élémentaires.
Un des avantages de install
l' cp
installation des exécutables est que, si la cible existe déjà, elle 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 des avantages et des inconvénients. Lors de la mise à jour des exécutables, s’il existe des instances de cet exécutable, elles ne sont pas affectées. En revanche, cp
met à jour le fichier en place s’il en existe un. Sur la plupart des variantes d'Unix, l'erreur EBUSY¹ échoue si la cible est un exécutable en cours d'exécution; sur certains, la cible peut tomber en panne car elle charge les sections de code de manière dynamique et que la modification du fichier entraîne le chargement de code non sensé.
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 des raisons historiques obscures .
Gilles, arrête de faire le mal
la source
rm
aveccp
. Cela signifie qu'il peut écraser les fichiers en cours d'utilisation en les dissociant d'abord (rm
).cp
seul donnerait une erreur.Il fournit un moyen normalisé de manipuler la propriété et les autorisations d'un fichier ou d'un répertoire lors de la copie du fichier ou de la création du répertoire, en une seule commande.
la source
install
fait une copie suivie par chown et chmod, tous les appels système séparés, et n'utilise pas renommer en place (du moins à partir de coreutils 8.13, la version GNU ne le fait pas). Si vous supposez que tout se passe de manière atomique, vous pourriez avoir une mauvaise surprise.Avec la
install
commande, nous pouvons copier le fichier avec les autorisations souhaitéesExemple qui utilise principalement lors de la configuration de LDAP
Cela nous évite de faire
chown ldap. /var/lib/ldap/DB_CONFIG
, si vous copiez en utilisantcp
alors vous devez égalementchown
dans ce scénariola source
Voir la page de manuel pour
install
:extrait
Vous pouvez également utiliser d'autres éléments utiles, tels que l'installation avec une propriété spécifique, des autorisations et la conservation des horodatages des fichiers d'origine
install
.Références
la source
install
, plutôt que de simplement conserver les autorisations existantescp