Je rencontre parfois des logiciels qui ne sont pas proposés dans .deb
ou .rpm
uniquement comme exécutables.
Par exemple, Visual Studio Code , WebStorm ou Kerbal Space Programm .
Pour cette question, je prendrai Visual Studio Code comme point de référence.
Le logiciel est proposé sous forme de package zippé.
Lors de la décompression, je me retrouve avec un dossier appelé VSCode-linux-x64
qui contient un exécutable nommé Code
.
Je peux double-cliquer Code
ou pointer dessus avec mon terminal comme /home/user/Downloads/VSCode-linux-x64/Code
pour l'exécuter.
Cependant, je voudrais savoir s'il existe un moyen approprié d'installer ces applications.
Ce que je veux réaliser, c'est:
- un seul endroit où je peux mettre toutes les applications / logiciels qui sont offerts de cette manière (exécutables)
- prise en charge du terminal (cela signifie par exemple: je peux écrire à
vscode
partir de n'importe quel dossier de mon terminal et il exécutera automatiquement Visual Studio Code.
Information additionnelle:
- Environnement de bureau: Gnome3
- OS: Debian
EDIT:
J'ai décidé de donner la réponse à @kba parce que son approche fonctionne mieux avec ma solution de sauvegarde et en plus de cela. Avoir un script exécutant les binaires vous donne la possibilité d'ajouter des arguments.
Mais pour être juste, l'approche @John WH Smith est aussi bonne que celle de @ kba.
la source
.desktop
entrée pour démarrer à partir d'un menu ou ajouter une configuration, découvrir des drapeaux de ligne de commande, etc. Un alias est très rigide.Selon TLDP ,
/opt
pourrait être un bon endroit pour ce type de logiciel. Je l'ai utilisé moi-même pour stocker des outils liés à l'imprimante, et la version "dynamique" de Skype (comme l'a dit kba, le "support du terminal" peut alors être obtenu en définissant laPATH
variable en conséquence).Plus généralement, j'ai tendance à
/opt
«installer» des logiciels propriétaires emballés comme un exécutable, mais c'est probablement juste moi. En outre, j'ai tendance à simplement éviter ce type de logiciel, car je n'ai généralement aucune certitude quant à ce qu'il fera une fois que je l'aurai exécuté.Une autre raison pour laquelle j'ai choisi
/opt
est parce qu'il est généralement destiné au code tiers indépendant, qui ne dépend d'aucun fichier en dehors de son/opt/'package'
répertoire (et d'autresopt
répertoires tels que/etc/opt
).L'un des avantages de la publication du code source est que les utilisateurs peuvent configurer le processus de compilation, en fournissant des chemins de bibliothèque / en-têtes personnalisés en fonction des spécificités de leur système. Lorsqu'un développeur décide de publier du code en tant qu'exécutable, cet avantage est perdu. À mon humble avis, à ce stade, le développeur n'est plus autorisé à supposer que les dépendances de son programme seront disponibles (c'est pourquoi tout devrait être empaqueté avec l'exécutable).
Pour plus d'informations, je suggère également de lire cette autre question U&L , qui traite des différences entre
/opt
et/usr/local
. J'éviterais personnellement/usr/local
dans ce cas, surtout si ce n'est pas moi qui ai construit le programme que j'installe.la source
Il est tout à fait possible, et en fait assez simple, de créer un package binaire de distribution à partir d'une archive zip binaire ou tarball, comme dans votre exemple de code Visual Studio.
Oui, les packages binaires de distribution Linux tels que
deb
s etrpm
s sont généralement générés à partir de la source, mais ils ne doivent pas l'être. Et il est souvent (mais pas toujours) possible d'arranger les choses pour que le package binaire de distribution qui en résulte installe les choses aux «bons» endroits pour se conformer à la politique de distribution.Dans le cas d'un tarball propriétaire aléatoire, s'il y avait un moyen d'installer correctement le logiciel, par exemple une cible d'installation dans un makefile, alors cela pourrait être utilisé avec les machines d'emballage de distribution. Sinon, cela pourrait impliquer de mapper «manuellement» les fichiers aux «bons» endroits, ce qui pourrait représenter beaucoup de travail. Bien que la création d'un tel package puisse sembler une chose étrange à faire, elle aurait toujours l'un des principaux avantages de la gestion des packages, à savoir des installations et des désinstallations propres. Et bien sûr, un tel package ne serait jamais accepté dans aucune distribution Linux digne de ce nom, mais ce n'est pas votre question.
la source
fpm
.J'ai rarement vu un logiciel livré comme un exécutable binaire et rien d'autre, et je serais franchement un peu méfiant. Si rien d'autre, je m'attendrais au moins à un
README
(avec des instructions pour l'installer) et à unLICENSE
pour l'accompagner. Cela étant dit...L'endroit habituel où les binaires installés localement et non gérés par le gestionnaire de paquets de la distribution sont conservés est
/usr/local/bin
. Vous pouvez le mettre là, et puisque ce répertoire est (ou devrait être) déjà dans votre,$PATH
vous pouvez exécuter le logiciel en tapant son nom sur la ligne de commande.Habituellement, le logiciel devrait également avoir une page de manuel (un logiciel non documenté est mauvais, non?) Qui entre
/usr/local/man
et pourrait avoir des fichiers de support tels que des traductions dans d'autres langues et des plugins qui pourraient entrer dans/usr/local/share
ou/usr/local/lib
, et ainsi de suite. Pour cette raison, les logiciels qui ne sont pas fournis sous forme de package tels que.deb
ou sont.rpm
généralement fournis avec un programme d'installation qui place tout au bon endroit. Lorsque vous installez à partir de la source, c'est généralement le casmake install
.la source
Code
n'est que le point de départ. Il peut afficher la licence lors de l'exécution (l'exécutable 64 bits ne s'exécute pas sur la machine à portée de main, mais quelqu'un devrait vérifier ce genre de chose pour fournir une bonne réponse à la question réelle d'OP./usr/local
plutôt que dans mon répertoire personnel. (Tous les programmes ne fonctionneraient pas - prenezEclipse
par exemple).