Je souhaite installer un programme sous Linux et l'exécuter en tant que démon. (Team Speak 3 dans ce cas, mais la question est de nature générale). Il n'y a pas de paquet fourni, seulement des fichiers binaires tarés. Où dans la structure de répertoire devrais-je mettre un tel programme par convention?
Sur le Web, j'ai constaté que / opt est destiné aux "applications complémentaires facultatives", alors que / usr est destiné aux "programmes utilisateur". J'ai trouvé un tutoriel suggérant / opt tandis que l'autre sugested / usr.
Alors lequel est "plus correct"?
/usr/local
) OU pour créer votre propre paquet.Réponses:
Le "plus correct" dépend de votre distribution. Vous devriez consulter les directives de votre distribution pour savoir où placer les logiciels qui ne sont pas gérés par le gestionnaire de paquets (souvent
/usr/local
) OU pour créer votre propre paquet.Comme vous l'avez dit, TeamSpeak vient de tout mettre dans un dossier (et peut ne pas être facile à réorganiser), oui,
/opt/
c'est probablement mieux.(Mais, par exemple, dans Archlinux, le gestionnaire de paquets peut s'y installer, donc je ferais quand même un PKGBUILD dans lequel installer
/opt
.)De plus, les distributions essaient généralement de suivre la norme de hiérarchie des systèmes de fichiers. Vous devez donc rechercher une convention plus générique.
la source
Si vous compilez votre propre logiciel, vous contrôlez en définitive l'emplacement de l'installation. Par convention, les logiciels compilés et installés manuellement (et non par un gestionnaire de paquets, par exemple apt, yum, pacman) sont installés dans
/usr/local
. Certains packages (programmes) créeront un sous-répertoire dans/usr/local
lequel stocker tous leurs fichiers pertinents, tels que/usr/local/openssl
. D'autres packages installeront leurs fichiers nécessaires dans des répertoires existants tels que/usr/local/sbin
et/usr/local/etc
. Ce sont simplement des emplacements par défaut et peuvent être modifiés lors de la compilation.Lorsque vous compilez un logiciel, l'emplacement d'installation peut être spécifié à l'aide de l'
--prefix=
option lors de l'exécution./configure
. Il est fortement recommandé de regarder toutes les options disponibles pour votre paquet en cours d'exécution$ ./configure --help | less
. De plus, consulter les documents INSTALL et README fournis avec votre package est une bonne idée. Ils ont tendance à inclure des instructions d'installation et des informations de dépendance spécifiques au package.Il convient également de noter que, bien que vous puissiez stocker des logiciels n'importe où, conformément à la FHS , le code source des logiciels installés localement doit être stocké dans
/usr/local/src
Standardizing, dans lequel vous stockez vos arborescences sources, ce qui vous permettra de localiser facilement un arbre si vous devez copier un stock. fichier de configuration ou binaire. Même si certains paquets l'utilisent, votre code source ne doit pas être stocké/usr/src
car il est destiné aux logiciels système tels que le noyau.Enfin, vous devez vous assurer que votre emplacement d’installation est inclus dans votre
$PATH
. Si vous décidez d'installer votre paquet,/opt
mais pas dans votre$PATH
shell, votre exécutable ne trouvera pas les fichiers exécutables et vous devrez utiliser le chemin absolu pour appeler vos programmes. Voici quelques bonnes discussions de l’ UA sur la configuration de votre$PATH
Lecture complémentaire:
man hier
la source
La base standard de Linux et la norme de hiérarchie du système de fichiers sont sans doute les normes où et comment installer un logiciel sur un système Linux et suggéreraient de placer le logiciel non inclus dans votre distribution dans
/opt
ou dans des/usr/local/
sous-répertoires (/opt/<package> /opt/<provider> /usr/local/bin
).La meilleure pratique consiste à convertir les logiciels que vous téléchargez en un progiciel installable natif de votre distribution, par exemple les formats dpkg ou rpm. Cela facilitera la création de rapports, la mise à niveau et la suppression propre du logiciel.
la source
/opt
et/usr/local/
étaient les deux options disponibles , mais voulait des informations spécifiques sur lesquels une de ces options à utiliser. Cela pourrait être une réponse valable si elle prétend plutôt que les deux sites sont interchangeables (bien que je conteste que ce serait une réponse correcte dans un tel cas).Les binaires vont dans le
bin
dossier par des conventions communes, la façon dont vous organisez la structure de votre paquet dépend de vous, je peux penser à/opt/<prog_name>/
cela s'il ne s'agit que d'une liste de binaires.la source
J'avais la même question lors de l'installation d'Eclipse via le programme d'installation d'Eclipse.
J'ai remarqué que Gimp, Perl et Vim sont installés dans le
/usr/share
dossier et j'ai décidé de l'installer là-bas.la source
Les programmes peuvent être installés de deux manières, en fonction de la manière dont ils sont compressés.
Via le gestionnaire de logiciels (apt, synaptic, Gdebi, etc.) - le programme est sous forme de package, généralement .deb ou rpm. Dans la plupart des cas, les gestionnaires de logiciels gèrent les dépendances et installent généralement les fichiers binaires
/usr/bin
, les fichiers de configuration/etc
, etc. Ils peuvent également créer un fichier de configuration pour le programme chez vous, généralement~/.foo
. Si vous pouvez modifier ce fichier, vous pouvez également modifier facilement les paramètres de votre session de cette façon. Lorsque vous supprimez le package, le gestionnaire trouvera tous les fichiers et les supprimera proprement (il stockera tous les emplacements dans un fichier texte spécial). Mais il peut conserver certains fichiers de configuration, par exemple celui de votre dossier personnel.Vous téléchargez un programme (généralement compressé) sous forme de fichiers binaires précompilés pour votre architecture. Le fichier exécutable du programme se trouve généralement dans un dossier unique, à côté d'autres fichiers (bibliothèques liées dynamiquement, etc.). Ce dossier peut être copié dans son intégralité, avec les privilèges root,
/opt
ou/usr/bin
peut, si les autorisations le permettent, être utilisé par n'importe quel utilisateur. J'ai moi-même mis les dossiers contenant des fichiers binaires dans mon dossier personnel~/bin
. Vous devriez maintenant pouvoir exécuter le programme en appelant son fichier bin.la source