Je viens donc de poser une question simple qui va probablement me rendre stupide, mais j'apprends
Quand je fais un
./configure --prefix/usr/bin/
Que fait le préfixe? Est-ce simplement installer le package à cet emplacement
Et une réponse peut-elle donner une réponse plus élaborée pour une installation compliquée et expliquer en détail les préfixes et les options qui vont avec.
Si je devais exécuter une installation apt-get, comment l'installer à un certain emplacement avec un préfixe
J'ai aussi vu
PREFIX=/tmp/installdir make
PREFIX=/tmp/installdir make install
Si le préfixe est appelé ./configure, pourquoi est-il toujours fait dans ces deux exemples?
Merci d'avance!
Réponses:
Lorsque vous installez un logiciel avec
make install
ousudo make install
, différents fichiers sont placés dans des répertoires différents. Les exécutables qui fournissent des commandes que l'utilisateur est censé exécuter vont généralement dans unbin
répertoire, les bibliothèques vont généralement dans unlib
répertoire, les pages de manuel vont généralement dans unman
répertoire, etc.Lorsque vous exécutez
./configure
, l'--prefix
option vous permet de spécifier où se trouvent ces répertoires . Il est appelé--prefix
car il vous permet de donner le préfixe qui apparaît dans les chemins d'accès à chacun des répertoires où les fichiers du programme ou de la bibliothèque que vous construisez doivent être installés. La plupart desconfigure
scripts prennent en charge--prefix
, et l'omettre et simplement exécuter./configure
est généralement équivalent à./configure --prefix=/usr/local
.Pour y répondre plus complètement, j'ai reproduit deux sections de ma réponse à Comment installer le fichier tar «globalement»? (sous Unix et Linux ), qui répondent spécifiquement à cette question:
la source
Il indique l'emplacement des éléments nécessaires à la configuration du package ou du logiciel actuel.
Comme dans un cas simple, il peut indiquer l'emplacement des bibliothèques SSL:
et il indique également quels packages ne pas configurer, pour effectuer des compilations appropriées du programme en fonction de votre système:
Ce ne sont que des options supplémentaires pour rendre une compilation adaptée à votre système. C'est ce que je pense. Corrigez-moi s'il s'agit d'autre chose.
L'
--prefix=PREFIX
option installe des fichiers indépendants de l'architecture dansPREFIX
. Lorsque vous exécutez unemake install
commande, les bibliothèques sont placées dans lePREFIX/lib
répertoire, les exécutables dans lePREFIX/bin
répertoire, etc.Si cet argument n'est pas transmis à la
configure
commande, la valeur par défaut est/usr/local
.la source