J'ai besoin de compiler un logiciel sur ma machine Fedora. Où est le meilleur endroit pour le mettre afin de ne pas interférer avec le logiciel fourni?
package-management
compiling
software-installation
directory-structure
fhs
theotherreceive
la source
la source
Réponses:
Règle générale, du moins sur les systèmes à l’architecture Debian:
/usr/local
pour des choses qui est -ie « l' échelle du système » a/usr/local
tendance à être dans le défaut d'un distro$PATH
, et suit une hiérarchie de répertoires UNIX standard avec/usr/local/bin
,/usr/local/lib
etc./opt
pour des choses que vous ne croyez pas pouvoir créer à l'échelle du système, avec des préfixes par application/opt/firefox-3.6.8
, c'est-à-dire/opt/mono-2.6.7
, et ainsi de suite. Les éléments ici nécessitent une gestion plus minutieuse, mais sont également moins susceptibles de casser votre système - et sont plus faciles à supprimer, car vous supprimez simplement le dossier et il est parti.la source
/opt
si vous effectuez l'sudo
installation.Si vous ne voulez vraiment pas que cela interfère, ne le placez pas dans votre ordinateur
$PATH
.Si vous le voulez
$PATH
, assurez-vous au moins de ne pas l'installer/usr/local
. J'ai constaté que beaucoup de logiciels y regardent même s'ils sont installés par la distribution/usr
.Ma méthode préférée pour installer un logiciel compilé sur mesure se trouve dans mon
$HOME
répertoire. De cette façon, vous n’avez pas besoin d’utilisersudo
quoi que ce soit, et il est très bien séparé du reste de votre système. Par exemple:Et si vous le souhaitez, vous pouvez ensuite ajouter
/home/username/stage/bin
à votre$PATH
.la source
/usr/local
).FHS dit de le mettre dans / usr / local où les distributions ne devraient pas le toucher.
/usr/local/bin
pour les binaires/usr/local/src
de la source et/usr/local/lib
des bibliothèques. Voir la spécification FHS pour plus d'informationsla source
/etc/mysql
pour la configuration?/usr/local/etc
dossier par défaut, je suppose que je devrais l'utiliser ... :-)La plupart du temps, j'aime placer mes propres éléments compilés
/opt
. C'est une sorte d'endroit pseudo-standard. Vous pouvez également envisager/usr/local
, mais je préfère garder mes affaires isolées à 100%.la source
/opt
, mais j'ai souvent vu des objets/usr/local
jonchées de junk provenant de la distro./usr/local
étaient des hiérarchies de répertoires similaires à celles de l'arborescence standard, et peut-être des fichiers d'index pour des choses comme TeX.Mettez-les à
/usr/local/src
.Ce que je fais est d'extraire la source dans ce répertoire. Cela créera un chemin comme
Ensuite, je crée un lien symbolique:
Faites tout votre bâtiment dans
/usr/local/src/postgresql
.Faire les choses de cette façon aide quand vous avez besoin de passer d'une version à une autre et de documenter la version que vous utilisez.
la source
Cela me rappelle que je dois utiliser checkinstall plus souvent! Comme ça je fais juste comme d'habitude
suivi par
créer un fichier .deb ...
la source
S'il y a une possibilité - je suggérerais de compiler votre logiciel, puis de créer un package FC (je crois que c'est utiliser yum pour installer des packages logiciels). Ensuite, vous pouvez installer ce package de votre propre logiciel compilé et le supprimer sans endommager tout le système.
la source
Si vous voulez pouvoir installer et supprimer facilement plusieurs applications que vous avez construites vous-même, vous pouvez utiliser Stow comme simple gestionnaire de paquets.
la source
Selon le FHS ,
/usr/local/
est utilisé pour les applications compilées à partir de la source, tandis que/opt/
pour les applications tierces non prises en charge par le fournisseur de votre système d'exploitation.la source
Deux choses que je recommanderais:
À l'échelle du système: utilisez stow et installez sous / usr / local / stow / package-version. Ensuite, vous pouvez facilement basculer entre les versions.
Chez moi, ou si je n'ai pas les permissions d'écriture / usr / local, j'installe personnellement des programmes sous ~ / .local, ce qui est suggéré par le standard XDG .
Vous pouvez également utiliser stow localement, bien que je ne l'aie jamais fait :)
la source
J'ai une configuration un peu différente de celle de la plupart des gens car je développe beaucoup. J'ai un répertoire / home / jackson / bin / dans lequel j'installe des éléments et j'ai modifié mon .bashrc en ajoutant ceci:
Je ne ferais pas ça pour tout, mais c'est bien pendant le développement.
la source
Il n'est en fait pas si difficile de créer des deb ou des rpm à partir d'une archive source. De cette façon, vous pouvez utiliser les installations du gestionnaire de paquets de votre distribution pour maintenir votre système propre. C’est ce que je fais la plupart du temps: il suffit de créer un petit nombre de tours.
la source
si vous compilez une application, vous pouvez ajouter son chemin d'accès aux exécutables dans votre variable d'environnement PATH. cela n'aura aucun impact sur les autres utilisateurs.
la source
Il y a toujours la possibilité de "le placer où il se doit" mais écrivez d'abord un simple rpm.
la source
Si vous souhaitez que votre application soit disponible pour tous les utilisateurs du système et que vous disposiez des autorisations nécessaires, utilisez / opt. Si vous souhaitez que l'application ne soit disponible que pour vous (et root), utilisez / home / nom d'utilisateur
la source
Le moyen le plus simple consiste à récupérer le paquet source (
.src.rpm
pour RPMites), à le décompresser, à pirater la nouvelle source / configuration / quoi que ce soit dedans, à modifier la version de manière appropriée et à le construire. En installant cela, votre gestionnaire de paquets sera au courant du nouveau paquet, permettra de le considérer pour ses dépendances et de le désinstaller / mettre à jour.C'est une corvée la première fois, mais si une nouvelle version (ou un correctif critique) est disponible, la mise à jour est alors plus simple. Un autre avantage est que vous pouvez créer votre propre référentiel avec un logiciel local, à partager par exemple par les machines d'un laboratoire.
la source
Ecrire un RPM, ce n'est pas difficile, a des directives sur l'endroit où placer les choses et rend la désinstallation en un tournemain.
Si vous faites cela, installez les fichiers sous
/usr
et pas sous/usr/local
, comme tous les autres fichiers qui passent par le système de conditionnement.la source