Installation d'applications à partir de la source


12

Je me posais des questions sur les installations génériques de toutes les applications sous Linux. Et qu'est-ce que cela signifie? Eh bien, lorsque j'utilisais Windows, je savais que si je veux installer une application, je double-clique sur le fichier .exe, puis sur suivant, suivant, suivant.

Sous Linux, j'ai compris qu'il existe peut-être une façon courante (non générique) d'installer une application. L'installation à partir de la source peut-être? Eh bien, y a-t-il une méthode étape par étape qui peut être utilisée pour installer une application comme dans Windows ou non?

Je demande parce que je ne veux pas continuer à demander à Google, comment faire? Donc, j'ai réussi à installer récemment à partir de freecad source à partir de ce guide et je pense que ce serait un très bon début comme méthode courante, non?

Mais la question est alors de savoir où trouver la bonne source et quand une application a une méthode d'installation très unique!


Copie possible de la façon d'installer à partir de .tar.gz?
Tachyons

Non, ma question était claire je pense! Juste une information plus profonde
Gabriel

Réponses:


14

Les instructions d'installation varient selon les programmes, bien qu'il existe des outils bien établis comme les outils automatiques (y compris automake et autoconf) et cmake.

Puisque les programmes peuvent venir dans différents langages de programmation, il est difficile de donner des commandes génériques qui conviennent à tous les packages. Par exemple, Python a souvent des scripts setup.py où les programmes C utilisent souvent des outils automatiques ou au moins un Makefile.

Je commence toujours par trouver les fichiers INSTALL, README ou similaires. Si vous devez compiler un programme à partir des sources, vous aurez probablement besoin du build-essentialpackage qui dépend des compilateurs et d'autres packages de développement génériques.

Selon le programme que vous essayez de compiler, vous devrez peut-être installer d'autres dépendances. Vérifiez le fichier README pour cela ou la sortie du ./configurescript (un fichier exécutable situé à la racine de la source extraite). Par exemple, s'il indique que vous avez besoin des "en-têtes de développement x11", essayez de trouver "x11-dev" ou "libx11-dev" dans les référentiels (dans ce cas, c'est libx11-devce que vous recherchez).

Les distributions sources qui ont été construites avec autoconf / automake peuvent être extraites et configurées avec:

tar xf foo-1.0.tar.gz
cd foo-1.0
./configure
make
sudo make install

Utilisez ./configure --helppour les options disponibles. Par défaut, les fichiers sont souvent installés, /usr/localce qui est parfaitement correct. À moins que vous n'alliez empaqueter le fichier dans un fichier .deb, ne changez pas ce préfixe /usrcar il pourrait entrer en conflit avec le système de gestion des paquets (dpkg).

makeest censé commencer à compiler tout ce qui make installinstalle les fichiers aux emplacements désignés ( sudoest nécessaire pour écrire dans des emplacements privilégiés comme /usr/local). Pour le désinstaller plus tard, exécutez à partir du répertoire source sudo make uninstall(à condition que le package soit correctement construit avec autoconf / automake, qui est la responsabilité du développeur, pas vous, l'utilisateur!

Si vous souhaitez simplement compiler un package à partir du centre de logiciels sur votre ordinateur, procédez comme suit (remplacez packageet la version en conséquence):

sudo apt-get build-dep package
apt-get source package
cd package-1.0
dpkg-buildpackage -b -uc -us

Voir les pages de manuel respectives pour plus de détails sur les commandes. (par exemple exécuté man dpkg-buildpackagedans un terminal). Après avoir exécuté ces commandes, vous aurez un fichier .deb dans le répertoire parent. Il est recommandé d'utiliser les packages des référentiels Ubuntu lorsque cela est possible. Les étapes ci-dessus sont affichées pour des raisons pédagogiques, mais vous souhaitez généralement apporter une modification à certains fichiers avant de créer le package.


Très utile en effet, donc la seule méthode courante est de télécharger le paquet (tar ??) puis d'extraire pour voir son contenu! Plus tard, je dois demander, j'extraye les fichiers et ensuite j'exécute toutes les commandes que vous avez mentionnées ci-dessus. Donc, le fichier d'installation est celui sur lequel je travaillais toutes ces commandes? Ou tous les répertoires de fichiers d'application sont spécifiques à l'installation à partir du centre ou à partir de la source? Pour être clair, je veux simplement installer l'application où je veux tout dans / opter ou / usr? Merci
gabriel

Voir l'article mis à jour. Le répertoire d'extraction et de modification représente 99% de tous les cas. Vous pouvez voir différentes extensions après .tar, comme .gz, .bz2, .xz. Ceux-ci se réfèrent au format de compression. .zip est moins courant car il ne peut pas stocker les autorisations de fichiers, mais il est visible dans au moins 7-zip. Remarque: mes instructions sont plus génériques pour "compiler à partir de la source". Les chemins et la configuration ne sont pas les mêmes que ceux du Ubuntu Software Center.
Lekensteyn

Peu importe dans quel répertoire je travaille avec ./configure, make et make install.Par exemple, je télécharge et j'extrais l'id dans le répertoire home, alors je devrais exécuter ces commandes et automatiquement la commande make install placera les fichiers d'installation dans un répertoire spécifique à droite?
gabriel

Il n'y a donc pas de répertoire spécifique comme Windows "Program Files", non?
gabriel

Après avoir extrait l'archive tar, changez votre répertoire en répertoire extrait. L'emplacement exact n'a pas d'importance, vous pouvez le faire dans votre répertoire personnel ou ~ / Downloads, assurez-vous simplement que le chemin ne contient pas d'espace, car il casse la plupart des outils. Par exemple, ~/Downloaded Sourcesc'est une mauvaise idée où ~/Downloaded-sourcesest parfaitement bien. Pour votre dernière question, voir askubuntu.com/q/27213/6969
Lekensteyn

7

FreeCAD est disponible dans l'Ubuntu Software Center, il n'était donc pas nécessaire de le construire et de l'installer à partir du code source.

Le Centre logiciel Ubuntu est toujours le premier endroit où vous devriez regarder. L'installation consiste simplement à cliquer sur un bouton.

Il y a une icône pour Ubuntu Software Center dans la barre sur le côté gauche de l'écran.

Si vous voulez vraiment construire et installer un programme à partir des sources, recherchez un fichier README ou d'autres instructions fournies avec le programme.

De nombreux packages logiciels utilisent GNU autotools comme système de construction et peuvent être construits et installés avec les commandes suivantes:

./configure
make
sudo make install

Avant de construire un programme, vous devrez vérifier quelles sont les bibliothèques et autres dépendances requises (qui doivent également être mentionnées dans la documentation du programme). Sur packages.ubuntu.com, vous pouvez trouver les packages Ubuntu qui contiennent les bibliothèques requises.

Supposons que le programme ait besoin d'une bibliothèque appelée blah, alors vous devrez probablement installer le package libblah-dev(recherchez le nom exact sur la page Packages Ubuntu que j'ai mentionnée ci-dessus).

sudo apt-get install libblah-dev

HAHA, ouais je connais cette icône! MAIS si vous avez déjà remarqué qu'il y a une description dans le centre logiciel dans n'importe quelle application qui dit "canonique ne fournit pas de mises à jour critiques" et la version freecad était la 0.8 et j'ai installé freecad v0.13.I je veux juste une connaissance plus approfondie des systèmes linux pas des réponses pointant où est le centre logiciel, merci quand même! :-)
gabriel

MAINTENANT vous parlez bien! Et merci beaucoup, c'est la connaissance plus profonde que je veux juste! Continuez!
gabriel

OK, donc si je veux installer une application à partir de la source, les gens de cette application doivent fournir le code source? Par exemple, si je veux installer une application commerciale, je ne suis pas en mesure d'installer à partir de la source à droite? CECI est le projet opensource de toute façon à droite? les applications ont la source ouverte pour tout le monde mais pas commerciale.
gabriel

"si je veux installer l'application depuis la source, les gens de cette application doivent fournir le code source?" - Oui bien sûr, c'est ce que signifie "de source "! Et s'il s'agit d'un programme commercial qui n'est pas open source, vous n'obtenez pas le code source.
Jesper

C'est pourquoi la plupart des applications Windows ne sont pas installables sous Linux, n'est-ce pas?
gabriel

2

Il n'y a que deux approches de base:

  1. Utilisez le Centre logiciel ou un outil connexe (Synaptic apt-get, etc.). C'est normalement la meilleure option. Sortir de cette méthode peut entraîner des problèmes, tels que des problèmes et des difficultés avec les mises à jour, vous ne devez donc faire autre chose que si vous savez ce que vous faites.
  2. Lisez la documentation et utilisez-la pour installer. Vous pouvez le trouver sur le site Web du projet, ou dans l'archive tar, ou à l'endroit où vous avez obtenu votre fichier. Ou, il peut ne pas y avoir de documentation, auquel cas vous devez Google ou deviner. Il existe de nombreuses façons différentes d'installer un logiciel. Si cela devient confus, revenez au numéro 1.

    Si votre package utilise la norme ./configure; make; sudo make install, vous pouvez utiliser checkinstallpour obtenir un .deb de ce que vous avez construit. De cette façon, vous n'avez pas à sacrifier la gestion des packages.


Ok, j'ai posé cette question car j'ai eu quelques problèmes avec le centre logiciel et les fichiers .deb. Par exemple, je voulais installer draftsight, un programme cad et c'est pour 32 bits seulement. On peut donc extraire un fichier .deb par exemple puis une installation manuelle avec make et sudo make etc? merci
gabriel

S'il n'y a pas de .deb disponible pour votre architecture, alors vous devrez installer votre programme d'une autre manière. Vous pouvez Google pour savoir comment d'autres personnes l'ont fait, ou rechercher un .dev avec la bonne arche, ou construire à partir des sources. Voir mon prochain montage pour quelque chose d'important.
Scott Severance

checkinstall avant d'exécuter ces commandes? et quoi, un .deb est apparu? ((je dois vous demander comment faire pour que vos articles soient beaux et organisés? avec les commandes mises en évidence et le personnel? n'importe quel guide pour askubuntu?)) Donc je peux extraire un .deb puis checkinstall et le faire fonctionner sur 64bit par exemple ou ai-je tort et stupide avec cette question?
gabriel

Vous ne pouvez pas utiliser checkinstallsur les packages .deb existants. Si vous avez déjà un .deb, techniquement, vous pouvez l'extraire et l'installer manuellement, mais ce n'est pas la meilleure façon. checkinstallest pour quand vous construisez à partir de la source. Pour obtenir de l'aide sur le formatage, consultez le lien d'aide qui apparaît toujours lors de la publication.
Scott Severance

Donc, le fichier .deb avec une architecture différente de 64 bits que j'ai, ne doit pas être extrait puis installé manuellement? Et quand vous dites "c'est pour quand vous construisez à partir des sources". le fichier .deb est construit à partir d'où? Utilise-t-il le même code source que vous générez à partir de la source? Question stupide?
gabriel le

0

L'installation à partir de la source est très difficile à prendre en charge.

Dans la mesure du possible, installez à partir du centre logiciel. C'est l'équivalent de la mentalité des fenêtres next-> next-> finish.

Vous pouvez également installer des éléments depuis la source sur Windows. Ce n'est pas unique à Linux, c'est juste que plus d'applications source disponibles ciblent Linux.


1
eh bien, je veux juste sauter dans mon expérience linux j'ai trois ans maintenant et ce que je veux, c'est finalement de ne pas continuer à demander comment et comment, vous me sentez? Juste pour approfondir de plus en plus mes connaissances linux. m'explique la source etc?
gabriel


Aussi, lorsqu'une application n'a pas de .deb dans mon ubuntu, comment installer à partir du centre logiciel? Alors je suis à nouveau prêt à demander dans askubuntu.com ou google.gr '' '' comment installer CECI dans ubuntu 11.10? '' ''
gabriel

Oui. Une application spécifique est meilleure. Ils produisent des réponses reproductibles ciblées pour des utilisateurs spécifiques. Ils sont donc utiles.
RobotHumans

Eh bien, c'est très utile en effet.Vous me sentez juste et me donne ce que je veux juste.Mais je voudrais vous demander après beaucoup de lecture sur linux et linux ne pourrai-je jamais installer AUCUNE application dans les systèmes linux? OU quelque chose comme cela n'est pas possible en aucune façon?
gabriel

0

Ubuntu propose une variété de méthodes d'installation

  1. Via un système d'emballage centralisé

    C'est la méthode préférée dans Ubuntu (mais personnellement je ne l'aime pas), le centre logiciel, la synaptique et l'aptitude sont excellents

  2. Package deb autonome: - Cette méthode est plus simple que dans le cas de Windows, il suffit de double-cliquer sur le fichier et d'appuyer sur le bouton d'installation Par exemple: Gdebi package manager

  3. logiciel binaire: ils sont très similaires à l'installation de windows .exe, il offre une variété de gui pour l'installateur, ce sont généralement des fichiers .bin

    vous pouvez utiliser du bit rock ou des outils similaires pour faire de tels packaes

  4. Autopackage et outils similaires: -ce sont des gestionnaires de paquets tiers créés pour prendre en charge diverses distributions Linux

  5. code source: c'est la première méthode dans l'installation du logiciel, dans cette méthode le code source est converti en exécutables binaires, les instructions d'installation de ces logiciels sont généralement attachées avec le code source, et elles ne sont valables que pour l'open source s / w uniquement

Attention: -Ce ne sont que mon observation, je suis un débutant sous Linux, donc n'hésitez pas à modifier / voter en cas de problème


Eh bien merci, d'après mon expérience, je vois généralement dans le centre de logiciels la description d'une application et si le canonique fournit des mises à jour, je l'installe à partir du centre.Si je ne suis pas sur Google, c'est pourquoi j'ai posté cette question, et toutes les réponses étaient ver helpfull.Thanks
gabriel

L'option 1 est bien meilleure que 3 et 4, car vous pouvez obtenir des mises à jour automatiquement. L'option 2 est très bien lorsque le package ou la version que vous souhaitez n'est pas dans votre référentiel (option 1). Évitez autant que possible les numéros 3 et 4 car ils ne profitent pas de tous les merveilleux avantages de la gestion des packages et peuvent entraîner des conflits en cours de route. Même si Autopackage fait sa propre gestion de packages, il s'agit toujours d'un système distinct et a le potentiel de conflits et de choses obsolètes. Et, à moins que vous ne soyez un programmeur, essayez d'éviter de construire pour la source. La gestion des packages est une chose merveilleuse!
Scott Severance

Je préfère ces méthodes uniquement parce que ma connexion Internet est lente: p
Tachyons
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.