Puis-je mettre à jour le logiciel installé à partir du code source directement


14

Bien que cela fasse presque un an que j'ai commencé à utiliser Ubuntu, je n'ai pas tenté d'installer de logiciel à partir de la source. Je n'ai pas vraiment trouvé la nécessité de le faire. Mais maintenant, je travaille sur un logiciel qui est au stade de la version candidate dans les référentiels, mais le code source de la dernière version stable est disponible sur la page d'accueil du logiciel.

J'ai appris que l'installation à partir du code source peut être difficile si le logiciel a de nombreuses dépendances. Cependant, si je m'attaque à cela, je peux être satisfait de la dernière version. Mais je continue à me demander si un tel logiciel peut se mettre à jour automatiquement ou devrai-je exécuter des scripts pour mettre à jour le package. Ou pire encore, devrai-je réinstaller chaque mise à jour à partir de zéro?

Je suis également impatient de savoir s'il existe un avantage spécifique à installer à partir d'une source autre que celle ci-dessus.


Réponses:


10

Il est préférable de noter que les dépendances d'un logiciel changent rarement. Si vous avez compilé avec succès le logiciel une fois, toutes les versions suivantes devraient être faciles à compiler - toutes les dépendances devraient déjà être satisfaites.

Si vous avez compilé à partir de la source, il n'y a pas .deb package ou un package similaire que vous pourriez utiliser pour mettre à jour, sauf si vous attendez que la distribution inclue ce logiciel dans leurs référentiels, ou attendez que le PPA des développeurs soit mis à jour.

Autrement dit, quelqu'un doit d'abord le compiler pour en faire un deb. Compiler une ancienne version ne vous donnerait pas la possibilité de mettre à jour automatiquement, vous devez toujours suivre tout le processus "download-configure-compile-install".

pourtant , si vous souhaitez installer la même version sur plusieurs ordinateurs, il serait judicieux de regrouper votre version compilée en tant que .deb(ou similaire) et de la distribuer à ces ordinateurs. Si cela était fait correctement, les dépendances seraient automatiquement intégrées.

En ce qui concerne les avantages de l'installation à partir des sources, les deux seuls auxquels je peux penser sont:

  • Vous avez accès à la dernière révision du code, et vous avez le choix entre une version stable ou la version de pointe (généralement appelée builds nocturnes, dernière révision, etc.)
  • Ubuntu / autre-distribution pourrait ne pas vouloir inclure le logiciel dans leurs référentiels. Dans ce cas, vous êtes coincé avec le code source ou les packages fournis par les développeurs ou la communauté. Autrement dit, vous n'avez pas d'autre choix que d'utiliser les sources.

4
Même si vous compilez quelque chose vous-même pour une utilisation sur 1 ordinateur, il est toujours utile de créer vous-même un package .deb, car il vous aide à garder une vue d'ensemble des logiciels installés en un seul endroit et facilite également la désinstallation ou la mise à niveau.
janvier

4

Selon ce post vous pouvez générer un package .deb après avoir compilé les sources. Ensuite, au lieu de "faire l'installation", vous pouvez installer à partir du package .deb. Cela facilite la mise à jour (si elle se trouvait dans un certain référentiel) car le package sera géré par le gestionnaire de packages qui suit la mise à jour.

Dans le cas où vous construisez le package "some-package" à partir de sources et qu'il existe des dépendances, vous pouvez essayer "apt-get build-dep some-package" pour installer automatiquement toutes les dépendances nécessaires à la compilation de votre package, sans suivre manuellement chaque dépendance vous-même. De cette façon, les dépendances sont également gérées par le gestionnaire de packages et doivent également être mises à jour automatiquement.


3

Une autre alternative pour les gitutilisateurs mérite d'être mentionnée:

Vous pouvez également utiliser git pullaprès une version antérieure git clonepour mettre à jour votre code source, puis recompiler votre programme si vous le souhaitez. (Vous pouvez également utiliser gitpour garder une trace des fichiers: voir la réponse ici .)

Si vous avez utilisé git cloneà l' origine pour obtenir le code source, comme dans, par exemple,

git clone git://github.com/person/programname.git

et vous avez conservé le dossier après la compilation et l'installation, vous pouvez cd dans le dossier et exécuter git pullpour obtenir les dernières validations. Ensuite, supprimez tous les répertoires de construction que vous avez créés et / ou exécutés make clean(le cas échéant), puis compilez à nouveau le logiciel et installez-le avec checkinstall, ce qui crée également un package pour vous (bien qu'il ne soit pas adapté à la distribution).

Cependant, si vous aidez au développement d'un programme et que vous devez recompiler après chaque jour, git pullvous installerez probablement dans le dossier d'accueil, car il ne serait pas nécessaire de l'installer dans la /usr/local/hiérarchie à chaque fois.

Par exemple, si je teste et que je recompile régulièrement un programme, je cd dans mon dossier de build après avoir obtenu les dernières validations git pullet exécuté (pour ce programme particulier):

cmake .. -DCMAKE_BUILD_TYPE=Debug -DLAYOUT=home -DPREFIX=home

puis compilez la version de débogage à tester.

Cependant, si vous vouliez simplement compiler une nouvelle version de votre programme cloné git tous les mois environ (et que vous ne le testiez pas ou ne le déboguiez pas), vous installeriez généralement dans la /usr/local/hiérarchie avec checkinstall.


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.